2010-03-25 164 views
2

嗨我需要備份MySQL數據庫,然後將其部署到另一臺MySQL服務器上。MySQL數據庫 - 備份問題

的問題是,我需要它的備份沒有數據,創建數據庫,表,程序,用戶只需腳本,重置自動遞增等...

我試過的MySQL管理員工具(Windows)和未選中「完全插入複選框」,但它仍然創造了它...提前 感謝

回答

2

從phpMyAdmin中,您可以導出結構,無論有沒有數據。 我不確定的唯一的事情是,它也出口用戶。如果你喜歡,我明天早上可以測試一下。它也出口用戶。您可以檢查各種選項。

alt text http://www.obviousmatter.com/testso/export_options.jpg

+0

這將是非常友善的你 我今天會部署它,所以如果你會更快,這將是甜 thanx現在 – Mike 2010-03-26 08:29:06

+0

我昨天晚上測試它(太好奇),它確實導出用戶,權限等基本上任何你需要複製你的數據庫,有或沒有數據 - 你的選擇。輸出是一個腳本,其中包含所有的語句,並按正確的順序排列。 – Whakkee 2010-03-26 08:34:52

+0

這只是甜蜜的:) – Mike 2010-03-26 08:55:39

3

使用mysqldump使用選項-d或--no數據
不要忘了-R選項來獲得程序
此頁面可以幫助您:http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

+0

我試圖 的mysqldump -u根-p -d -R MYDB> myback.sql 在註釋 – Mike 2010-03-25 22:17:07

+0

但卻留下存儲過程我沒有看着它,但在的mysqldump的形式使用的評論/ * xxxxx .... * /其中xxxx是MySQL版本。如果您加載此轉儲的服務器與您進行備份的服務器相同或更新,則此註釋將作爲常規語句執行。這用於保持向後兼容性。 – 2010-03-25 22:48:25

+0

@Mike:其實他們是「半」的評論:/ *! * /將被MySQL解釋(請參閱http://dev.mysql.com/doc/refman/5.1/en/comments.html),但會被其他SQL服務器忽略。如果你想將你的模式和過程導出到另一個服務器上,我建議你一旦建立它們並在你的數據庫中做的每一個改變都保持它們在sql文件中的版本 – PierrOz 2010-03-26 08:17:57

0

根據頁面,沒有一個很好的方法來轉儲這些例程,並讓它們很容易被重新創建。

他們建議直接轉儲mysql.proc表。包括所有的數據。

然後用你的myback.sql來恢復結構。然後用它的所有數據恢復mysql.proc表。

」 ......如果你需要程序將與原來的時間戳屬性重新創建,不使用--routines。相反,傾倒,直接重載mysql.proc表的內容,使用的是MySQL帳戶對於mysql數據庫有適當的權限...「

+0

如果我明白了,首先我應該用創建數據庫來執行SQL文件,然後創建從單獨文件到已創建數據庫的過程。 是否正確? – Mike 2010-03-25 22:52:39