本文適用於,mysql沒法啓動,但數據文件未丟失的狀況。mysql
Mysql因意外狀況,致使沒法啓動,數據庫未作備份的狀況下,如何將數據遷移至其餘數據庫中。sql
原數據庫地址:192.168.1.100(如下簡稱A服務器)數據庫
新數據庫地址:192.168.2.100(如下簡稱B服務器)服務器
數據恢復流程:spa
找到datadir 路徑命令行
當前文件夾裏面就是mysql中全部庫的數據文件存放位置。code
下面以bus文件夾中文件,演示具體如何恢復文件。server
更改全部者blog
Chown -R mysql /www/server/data/bus
rem
更改組
Chgrp -R mysql /www/server/data/bus
至此,數據文件恢復數據庫工做完成,
注1:如未改動數據文件夾全部者和組,啓動數據庫後,進入bus庫點擊相應表名會出現 ERROR #1017 :Can't find file: '/xxx.frm' 錯誤或ERROR #1036 Table '表名' is read only
注2:如數據庫較多,可能會發現,部分數據庫文件中有.frm .MYD .MYI這三種文件,部分數據庫中只有.frm文件,這是由於MySQL存儲表的時候,使用的默認數據庫存儲引擎是InnoDB,而使用InnoDB存儲引擎的時候,是不生成.MYD 和.MYI文件的。