2011-10-06 99 views
0

我已經使用手動刪除,更新和其他查詢在MySQL中測試了數月的數據庫。公平地說,數據庫已被濫用。將測試數據庫重建爲生產測試數據庫

我現在想要將其上傳到我的生產服務器,但我想從新的副本開始。有沒有辦法做到這一點?

我不想保留任何數據。我只想要一個不錯的,乾淨的數據庫開始,並沒有被數月的測試濫用。

+0

運行開發的備份,沒有數據,並上傳到現場,然後備份任何靜態表在開發日期和上傳到現場? – BugFinder

回答

1

如果你使用mysqldump,提供--no-data參數:

mysqldump --host=host --user=user --password=password --no-data db_name > structure.sql 

這將創建一個包含創造必要TABLE語句的新文件structure.sql。

如果您有其他一些管理工具允許導出,例如phpMyAdmin,你應該有一個選項可以忽略數據並只導出結構。

+0

我正在使用Navicat。我會看看是否有這樣的選擇 - 這很可能。 – Mohamad

1

如果在DB Manager軟件中找不到選項,則可以始終爲每個表使用TRUNCATE TABLE <table_name>;。這會清理表並將AUTO_INCREMENT計數器返回爲0(如果您正在使用它)。 如果您正在使用外鍵,你可以用你的全部截斷這樣的查詢:

SET FOREIGN_KEY_CHECKS=0; 

TRUNCATE TABLE <table_name1>; 
TRUNCATE TABLE <table_name2>; 

SET FOREIGN_KEY_CHECKS=1; 

,以避免外國支票。