我即將遷移我們的生產數據庫到另一臺服務器。它大約38GB,使用MYISAM表格。由於我沒有物理訪問新的服務器文件系統,我們只能使用mysqldump。mysqldump不中斷現場製作INSERT
我已經瀏覽過這個網站,看看mysqldump的在線備份是否會導致我們的生產網站。從這篇文章:Run MySQLDump without Locking Tables,它說顯然mysqldump會鎖定數據庫並防止插入。但經過幾次測試後,我很好奇,否則會發現它。
如果我使用
mysqldump -u root -ppassword --flush-logs testDB > /tmp/backup.sql
mysqldump的最終將被默認做一個「--lock桌」,這是一個讀取本地鎖(refer to mysql 5.1 doc),其中併發插入仍然可用。我做了一個for循環,每秒鐘插入一個表,而mysqldump需要一分鐘才能完成。在此期間,每秒都會插入記錄。這意味着,mysqldump不會中斷生產服務器和INSERT仍然可以繼續。
有沒有人有不同的經驗?我想確保這一點,然後再繼續到我的生產服務器,所以很高興知道我是否做了任何錯誤的事情,導致我的測試不正確。
[我的MySQL服務器的版本是52年5月1日,和mysqldump的是10.13]
您應該獲得訪問新服務器** FIRST **,並可能尋找mysql複製來解決遷移問題。 **請記住:**您可以轉儲並安裝到新服務器,**但是**轉儲數據後,會有**更多**新寫入,如何將新寫入同步到新服務器? – ajreal 2012-03-30 22:18:15
對於後續的新數據寫入,我們將通過使用mysqlbinlog來解決它,這應該很好的照顧。現在我主要關心的是第一次使用mysqldump進行備份。我只是想確定mysqldump是否會阻止INSERT。從我的測試來看,它沒有表現出來。只是想確保其他經驗如何。 – sylye 2012-04-02 11:40:13