我正在考慮切換到一個新的主機提供商,我想將我的數據庫轉移到我的生產站點到新的主機提供商。我正在使用mysql。我需要採取什麼步驟來傳輸我的數據庫?交換主機想要傳輸我的數據庫
感謝任何幫助。
謝謝
布賴恩
我正在考慮切換到一個新的主機提供商,我想將我的數據庫轉移到我的生產站點到新的主機提供商。我正在使用mysql。我需要採取什麼步驟來傳輸我的數據庫?交換主機想要傳輸我的數據庫
感謝任何幫助。
謝謝
布賴恩
假設一個相對簡單的應用程序(PHP,類似的東西),一個應用服務器,一臺數據庫服務器,然後簡要:
在新主機上,創建您在舊主機數據庫上使用的數據庫上必需的帳戶。
將應用程序代碼複製過來。
「鎖定」舊主機上的應用程序,所以沒有數據的變化可能會發生(如果這是可行的。)
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html是你的朋友。轉儲架構和數據,並將其捕獲到文件中。下面是我用來轉儲有例子的登錄數據庫exampledb命令:
mysqldump --add-drop-table -u example -p exampledb > output.sql
(該--add-drop-table
使得它,如果你需要在以後更容易重新運行腳本,但它確實創造腳本會破壞你的數據庫,所以請小心如何運行它。)
現在將output.sql文件複製到您的新主機中(可能使用scp
)。
在新主機上,運行mysql以使用來自舊主機的模式和數據構建數據庫。我用這樣的命令之一,假設用戶「示例」和「exampledb」的數據庫名稱:
mysql -u example -p exampledb < output.sql
(注意運行此只在新主機將抹殺你的數據庫。)
好的是,你有一個新的機器空白的石板。你可以在機器上不斷嘗試不同的東西而不會破壞任何東西。
在新主機上打開應用程序。測試。如果已經有一段時間了,您可能需要進行更改以使您的代碼升級到更新版本的語言。 (我在我的情況下,但也許你更好地保持您的代碼更新。)
關閉舊主機上的應用程序。
點DNS /路由器/無論新主機。
我錯過了什麼? (剛剛通過這個移動我的愚蠢的網站到一臺新機器。)
這很簡單,特別是對於一個單一的數據庫?
mysqldump
其後是mysqlimport
。
生成。sql文件是你所需要的,因爲它將包含所有的表信息,例如CREATE INDEXES
,當你通過所有的插入操作時,將會添加索引。
如果您對命令行感到困惑,我可以建議使用Navicat Lite。它是免費的,是我見過的最好的GUI。
mysqldump是否創建文件? – Brian
我用它的方式,它寫到標準輸出(本質上是控制檯)。所以我只是將它重定向到一個文件。例如''mysqldump [parameters]> output.sql'。 – Marvo
那麼從控制檯運行mysqldump test> output.sql?從新主機運行mysqlimport output.sql?我會在哪裏放置output.sql文件? – Brian