innodb結構數(shù)據(jù)庫損壞恢復方法通過備份盤數(shù)據(jù)恢復數(shù)據(jù)庫,適合普通人員操作 先按http://www.shinetop.cn/faq/list.asp?unid=753 掛載備份盤 一.windows系統(tǒng) 找到mysql安裝目錄, 如果是我司建站助手安裝,則在D:\soft_php_package\mysql\,將data目錄改名,然后將備份盤中相同路徑下data復制回來, 再啟動,如果仍無法啟動,可嘗試備份一份整個mysql目錄以后,覆蓋整個mysql目錄; 如果是自己安裝的mysql,則找到安裝目錄下my.ini文件,用記事本打開該文件,如 basedir="D:/phpStudy/MySQL/" #這里是mysql安裝路徑 datadir="D:/phpStudy/MySQL/data/" #這里是mysql數(shù)據(jù)存放路徑 將data目錄改名,然后將備份盤中相同路徑下data復制回來,如果仍無法啟動,可嘗試覆蓋整個mysql目錄; 如果仍無法啟動恢復,可備份數(shù)據(jù),重裝mysql 二.linux系統(tǒng) 如果是我司默認安裝wdcp環(huán)境,則在/home/wddata/var,將var目錄改名,然后將備份盤中相同路徑下var復制回來, cd /home/wddata/ mv var var.bak cp -rfpu /home1/wddata/var /home/wddata/ service mysqld start 如果是自己安裝的mysql,則找到my.cnf文件,如 basedir="/etc/mysql/" #這里是mysql安裝路徑 datadir="/etc/mysql/var/" #這里是mysql數(shù)據(jù)存放路徑 將var目錄改名,然后將備份盤中相同路徑下var復制回來,如果仍無法啟動,可嘗試覆蓋整個mysql目錄 如果仍無法啟動恢復,備份好現(xiàn)有mysqldata目錄,再重裝mysql 強烈推薦按以上方案恢復 以下是專業(yè)技術人員重建innodb數(shù)據(jù)庫過程參考,非專業(yè)人士請勿嘗試,可能會造成數(shù)據(jù)丟失!!! 跳過恢復模式,導出數(shù)據(jù)重建數(shù)據(jù)庫 找到mysql安裝目錄下的my.ini文件,在[mysqld]下一行中添加 innodb_force_recovery = 6 innodb_purge_threads = 0 保存后再啟動mysql 在D:\mysql\建立一個文件,命名db.txt,用記事本打開 將使用innodb結構的數(shù)據(jù)庫名寫入,一行一個 再在桌面新建立一個文件,命名dump.bat,用記事本打開復制以下代碼 echo off cls md D:\deleted\sql for /f %%i in (D:\mysql\db.txt) do ( echo %%i mysqldump -uroot -p密碼 -Q -a --opt --default-character-set=gbk %%i>D:\deleted\sql\%%i-gbk.sql mysqldump -uroot -p密碼 -Q -a --opt --default-character-set=utf8 %%i>D:\deleted\sql\%%i-utf8.sql ) 其中'密碼'改為實際的mysql密碼 停止服務,去掉my.ini的innodb_force_recovery參數(shù),將data目錄下的ibdata和ib_logfile剪切到其他位置,啟動服務 導入數(shù)據(jù) 新建im.bat echo off cls md D:\deleted\bkup for /f %%i in (D:\mysql\db.txt) do ( echo %%i move /y d:\mysql\data\%%i D:\deleted\bkup\ mysql -uroot -p密碼 -e "create database %%i;" mysql -uroot -p密碼 --default-character-set=utf8 %%i<D:\deleted\sql\%%i-utf8.sql ) 其中'密碼'改為實際的mysql密碼 linux同理修改my.cnf參數(shù)后,導出數(shù)據(jù),將var目錄下的ibdata和ib_logfile剪切到其他位置,啟動服務 導入數(shù)據(jù)
|
|||||
| >> 相關文章 | |||||
|
|
|||||