2012-02-08 85 views
1

我有一個數據庫在一個32位Linux服務器與MySQL,我想導入/複製/遷移到64位Linux服務器。MySQL 32位數據庫可以導入/複製到64位MySQL嗎?

我已經考慮

service mysqld stop 
tar czf /root/db.tar.gz /var/lib/mysql 

並將其複製到新的服務器。

或許

mysqldump -uroot -p --all-databases > /root/db.sql 

問題

這是可能的,如果是這樣,有什麼建議呢?

+2

複製所有文件幾乎肯定不會工作。第二種選擇當然會(在兩個服務器上都有正確的選項),儘管可能需要很長時間。你最好的選擇可能是一個專門構建的備份工具。你使用什麼數據庫引擎? – 2012-02-08 14:43:49

+0

我明白了。我正在使用InnoDB。 – 2012-02-08 15:00:37

+0

InnoDB的數據文件格式與平臺無關,並且如果您從源中正確複製數據並將其放入正確的位置,且目標位置具有正確的權限,則不存在任何問題。 – 2012-02-08 17:34:45

回答

2

使用mysqldump並重新導入生成的文件將有一定的作用,並且推薦使用,除非您的數據庫非常大並且轉儲/導入進程的速度較慢是個問題。

除非服務器環境在大多數情況下是相同的,否則如果要直接複製數據文件,則可能需要執行一些清理和權限更正。 There is documentation關於使用原始數據文件執行傳輸,但mysqldump是通常的首選方法。

+0

通過將數據從磁盤格式轉換爲SQL,然後將其轉換回磁盤格式,轉儲和重新加載實際上更可能導致某種問題。 – 2012-02-08 17:35:54

2

如果您有一個龐大的數據庫,我建議使用XtraBackup。這可能比使用mysqldump後跟導入要快得多。

相關問題