博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
记一次断电重启mysql报错
阅读量:2216 次
发布时间:2019-05-07

本文共 814 字,大约阅读时间需要 2 分钟。

本文没有做深入研究,测试环境因断电后导致mysql无法启动。没有准确报错信息,猜测是ibdata1文件损坏。

当然具体问题具体分析。如果你都尝试了别人得办法不行不凡这样试试。

具体报错信息请查看日志 /var/log/mysqld.log 如果你得安装路径与我不一致,详见配置文件

以下恢复步骤

首先先备份/var/lib/mysql 目录下所有文件,以访万一

接着修改mysql配置文件 /etc/my.cnf 添加  这个值 1不行改成2 最高到6 直到启动成功为止

innodb_force_recovery=1
innodb_force_recovery影响整个InnoDB存储引擎的恢复状况,默认值为0,表示当需要恢复时执行所有的恢复操作。当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志。innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。1:忽略检查到的corrupt页2:阻止主线程的运行,如主线程需要执行full purge操作,会导致crash3:不执行事务回滚操作。4:不执行插入缓冲的合并操作。5:不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。6:不执行前滚的操作。

然后启动mysql这个时候可以成功启动将所有库表导出

mysqldump -uroot -p  --all-databases > /tmp/all.sql

导出完成后,删除mysql目录下得文件

rm -rf ib_logfile* ibdata1

接着将innodb_force_recovery改成0 或者删除并将mysql目录下非mysql自带得库表删除

然后重启 mysql这个时候应该是能正常启动,启动完成后将所有库表数据导入

mysql -uroot -p#输入密码后进入mysql终端source /tmp/all.sql

具体原因未深入追朔

转载地址:http://aikfb.baihongyu.com/

你可能感兴趣的文章
【学习方法】如何分析源代码
查看>>
【LEETCODE】61- Rotate List [Python]
查看>>
【算法】- 动态规划的编织艺术
查看>>
用 TensorFlow 让你的机器人唱首原创给你听
查看>>
深度学习的主要应用举例
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>