欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql誤刪表數據恢復,MySQL數據庫無法啟動怎么辦

吉茹定2年前71瀏覽0評論
mysql誤刪表數據恢復,MySQL數據庫無法啟動怎么辦?

本文適用于,MySQL無法啟動,但數據文件未丟失的情況。

Mysql因意外情況,導致無法啟動,數據庫未做備份的情況下,如何將數據遷移至其他數據庫中。

原數據庫地址:192.168.1.100(以下簡稱A服務器)

新數據庫地址:192.168.2.100(以下簡稱B服務器)

數據恢復流程:

進入A服務器,輸入命令 cat /etc/my.cnf (如文件不在當前位置,可使用find / -name my.cnf 命令查詢文件位置)

找到datadir 路徑

通過cd /www/server/data 命令,進入數據文件夾。

當前文件夾里面就是mysql中所有庫的數據文件存放位置。

下面以bus文件夾中文件,演示具體如何恢復文件。

進入B服務器,創建與A服務器bus庫,用戶名,密碼相同的庫。創建成功后,通過上面方法,進入數據文件目錄,也會出現一個bus文件夾。 停止B服務器mysql服務,將A服務器中bus文件夾中,除db.opt文件外的其他文件打包,發送至B服務器數據目錄的bus文件夾中。解壓。 通過命令行,將/www/server/data/bus文件夾的所有者和組,更改成mysql

更改所有者

更改組

更改成功后,啟動B服務器數據庫,進入數據庫后,如提示error: 1146: Table doesn't exist,還需將A服務器,數據文件夾中ibdata1 文件,拷貝至B服務器相應位置,同時更改相應的所有者和組權限。

至此,數據文件恢復數據庫工作完成,

注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文件的。