win下innoDB异常的重建方法
win下innoDB异常的重建方法:
1.进入innodb恢复模式
在my.ini 加入innodb_force_recovery=6 重启服务
2.整理包含ibd文件的数据库
dir /s /b D:\mysql\data\*.ibd > D:\mysql\db.txt
将列表放到linux主机
cat db.txt |awk -F\\ '{print $4}'|uniq
得到唯一的数据库名后写入win下的db.txt
3.导出数据
新建dump.bat
echo off
cls
md D:\deleted\sql
for /f %%i in (D:\mysql\db.txt) do (
echo %%i
mysqldump -uroot -pigotowest263mysql -Q -a --opt --default-character-set=gbk %%i>D:\deleted\sql\%%i-gbk.sql
mysqldump -uroot -pigotowest263mysql -Q -a --opt --default-character-set=utf8 %%i>D:\deleted\sql\%%i-utf8.sql
)
4.停止服务,去掉my.ini的innodb_force_recovery参数,将data目录下的ibdata和ib_logfile剪切到其他位置,启动服务
5.导入数据
新建im.bat
echo off
cls
for /f %%i in (D:\mysql\db.txt) do (
echo %%i
md D:\deleted\bkup\%%i
move /y d:\mysql\data\%%i\* D:\deleted\bkup\%%i
mysql -uroot -pigotowest263mysql --default-character-set=utf8 %%i<D:\deleted\sql\%%i-utf8.sql
)
相关问题
下载此文章 (欢迎转载,请注明出处:http://www.xmxwl.net/help/member/20131029/13173.html)