首页 > 数据库 > MySQL > 正文

mysql断电后开启报错

2024-07-24 12:32:12
字体:
来源:转载
供稿:网友
       一个网管系统连接的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文件为空文件。否则会有错误日志。
 
 

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表