1. 程式人生 > >Mysql重灌時的資料問題

Mysql重灌時的資料問題

一、 對於mysql的重灌操作之前的說明:
1.備份好新舊mysql的data目錄和ini檔案
2.此操作只適用於mysql的重灌,要求前後的mysql版本完全一樣,版本不一樣是不保證此法能順利完成新舊資料庫中的資料複製
二、 操作:
1.以管理員身份執行cmd,輸入命令net stop mysql57(mysql的服務名稱,可通過net start命令檢視)
2.直接在重灌後把原mysql的data目錄複製覆蓋新的mysql的data目錄即可,同時,可將原mysql的ini檔案複製覆蓋掉新的mysql的ini檔案
3.以管理員身份執行cmd,輸入命令net start mysql57(mysql的服務名稱,可通過net start命令檢視)
三、 常見錯誤
在data目錄下,每個資料庫都是一個資料夾,但是不能在遷移資料時,只將幾個資料庫資料夾複製過來,會報錯,報錯記錄會在.err檔案中。一般報Open類錯,都是由於報錯的檔案丟失或者資料內容和原複製目錄不一致導致的,需要從原目錄重新複製。錯誤日誌中還有個returned OS err XX,這個記錄了具體原因,可通過MYSQL工具perror檢視此代號具體內容。
關於perror工具的使用
在 MySQL 的使用過程中,可能會出現各種各樣的 error,這些 error 有些是由於作業系統引 起的,比如檔案或者目錄不存在;有些則是由於儲存引擎使用不當引起的。這些 error 一般 都有一個程式碼,類似於“error:#”或者“Errcode:#”,“#”代表具體的錯誤號。perror 的 作用就是解釋這些錯誤程式碼的詳細含義。
perror 的用法很簡單,如下所示:

perror [OPTIONS] [ERRORCODE [ERRORCODE...]]

在下面例子中,可以看一下錯誤號 30 和 60 分別是指什麼錯誤:

C:\Program Files\MySQL\MySQL Server 8.0\bin>perror 30 60
OS error code  30:  Read-only file system
MySQL error code MY-000030: File '%s' (fileno: %d) was not closed
Win32 error code 30: 系統無法從指定的裝置上讀取。
Win32 error code 60: 遠端介面卡不相容。