ITPub博客

首页 > 数据库 > MySQL > mysql断电后启动报错

mysql断电后启动报错

原创 MySQL 作者:eimens 时间:2016-04-13 11:17:27 0 删除 编辑
一个网管系统连接的mysql数据库不能启动,数据库版本5.5.36查看错误日志信息:
查看MySQL启动日志,发现有“InnoDB: The log sequence number in ibdata files does not match”、“InnoDB: the log sequence number in the ib_logfiles! ”、“Database page corruption on disk or a failed”和“Ending processing because of a corrupt database page.”等错误信息,数据库是同于数据文件损坏没有启动成功。

数据文件损坏有多种原因,最常见的原因是服务器断电导致数据文件和日志文件的事务ID不一致,再次启动检验到不一致而无法启动。
通过在启动日志中搜索“Database was not shut down normally!”,搜索到19处,证明MySQL最后一次不是正常停止。MySQL启动时会检测上次是否正常停止,如果不正常则会打印这条错误信息,并试图自动修复,修复不成功就放弃启动。

将MySQL以只读的形式启动,启动后数据库并不具备完整功能,但可以进行数据备份操作。
在MySQL参数文件esight.ini中[mysqld]中设置参数innodb_force_recovery=6
然后执行MySQL\bin\startup.bat进行启动MySQL。如果启动不了,则可判断无法修复,直接考虑重装eSight。
2、 使用mysqldump单独备份每一个数据库,每个数据库会单独一个备份文件,这样为了某个数据库损坏不会影响其它数据的恢复。


mysqldump --force -uroot –p########## -databases mysql >> mysql_backup.sql

mysql.exe -uroot -p < mysql_backup.sql > mysql_recover_result.txt 2>&1
        如果执行正确,mysql_recover_result.txt文件为空文件。否则会有错误日志。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/89545/viewspace-2080319/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: mysql处理1
请登录后发表评论 登录
全部评论
  • 博文量
    8
  • 访问量
    23726