程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> MYSQL數據庫重裝後恢復的問題雜談

MYSQL數據庫重裝後恢復的問題雜談

編輯:關於MYSQL數據庫

昨天晚上要睡覺的時候發現MySQL數據庫出問題了!郁悶,重起服務器也不管用,只有重裝了!

於是就停止mysql服務,將mysql文件夾改名,然後重新安裝全新的MySQL程序!

安裝完成之後,將data目錄中的文件夾全部拷貝到新的目錄中!登錄PHPmyadmin發現用戶沒有了,數據庫都在,檢查後發現/data/MySQL目錄我沒有拷入,於是將這個文件夾覆蓋,再刷新,可以了!用戶也有了!

登錄了2個網站發現沒有問題!於是就睡覺了!

今天早晨有人告訴我服務器出問題了!原來是有的網站出現了InnoDB錯誤,症狀是找不到什麼.ibd的表文件,這個以前我遇到過!但是沒有解決!後來就試驗各種方法!發現出現錯誤的MySQL數據庫中的文件夾中只有.frm文件,丟了好多文件!察看官方翻譯的InnoDB說明文檔說是要將這些文件刪除,但是將這些文件刪除了那個文件夾中就沒有數據了!不可行!

然後又用搜索引擎搜索,也沒有找到答案!

之後用PHPmyadmin2.62和2.31備份,不能備!說是這個表正在使用中!

沒辦法了!

後來突然間想起升級discuz4.0的時候有個備份方法!

於是登錄dz官方網站找到了那篇文章!開始按照上面說的做!將數據備份出來,使用的是

MySQLdump -uroot -p databse > test.sql

這條語句!

備份出來之後,使用工具恢復,說是沒有sql與區查詢,還是不能恢復,用文本察看器打開,發現都是亂碼!但是文件的大小沒有問題,說明所有的數據都備份出來了!

後來想起pw3.01轉到dz4.0時候出現亂碼,是轉換了編碼才解決的!於是就將所有的數據恢復好另外一個新建的數據庫中,恢復過程中使用utf8編碼!使用的是下面的語句!

MySQL -uroot -p --default-character-set=utf8 -f test

將論壇的數據庫連接修改成新的數據庫!登錄論壇,發現沒有問題了!

至此,解決完畢!

總結:出現了InnoDB 錯誤數據庫就不能編輯、修復、刪除了!只有先stop mysql服務,然後將舊的備份data中的所有文件拷貝到新安裝的mysql服務文件夾中,然後start mysql服務,是用mysqldump命令將mysql數據庫備份出來!然後再stop mysql服務,將新的data文件夾覆蓋回來!然後start MySQL服務,新建一個數據庫,然後使用

MySQL -uroot -p --default-character-set=utf8 -f test

語句將數據庫恢復!注意編碼問題!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved