设为首页 收藏本站
查看: 592|回复: 0

[经验分享] mysql无法启动

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-30 10:03:56 | 显示全部楼层 |阅读模式


原因:mysql数据库无法启动

分析:查看mysql_error.log日志,
   
2015-07-24 15:06:39 18610 [Note] Plugin 'FEDERATED' is disabled.<br>2015-07-24 15:06:39 18610 [Note] InnoDB: The InnoDB memory heap is disabled<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Compressed tables use zlib 1.2.3<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Using CPU crc32 instructions<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Initializing buffer pool, size = 128.0M<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Completed initialization of buffer pool<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Highest supported file format is Barracuda.<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Log scan progressed past the checkpoint lsn 15415856992<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Database was not shutdown normally!<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Starting crash recovery.<br>2015-07-24 15:06:39 18610 [Note] InnoDB: Reading tablespace information from the .ibd files...<br>2015-07-24 15:06:40 18610 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace finance_TEST0724/f_commission_activity uses space ID: 6537 at filepath: ./finance_TEST0724/f_commission_activity.ibd. Cannot open tablespace finance_TESTBAK/f_commission_activity which uses space ID: 6537 at filepath: ./finance_TESTBAK/f_commission_activity.ibd<br>2015-07-24 15:06:40 7f02b451d720  InnoDB: Operating system error number 2 in a file operation.<br>InnoDB: The error means the system cannot find the path specified.<br>InnoDB: If you are installing InnoDB, remember that you must create<br>InnoDB: directories yourself, InnoDB does not create them.<br>InnoDB: Error: could not open single-table tablespace file ./finance_TESTBAK/f_commission_activity.ibd<br>InnoDB: We do not continue the crash recovery, because the table may become

可以推测是数据库意外关闭导致的文件损坏

解决过程:

一:

    在my.cnf中添加如下参数

    innodb_force_recovery=6

    innodb_force_recovery参数解释:
    innodb_force_recovery影响整个InnoDB存储引擎的恢复状况,默认值为0,表示当需要恢复时执行所有的恢复操作。
    当不能进行有效的恢复操作时,mysql有可能无法启动,并记录下错误日志。

    innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。
    当设置参数值大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作是不允许的。
    1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页
    2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash
     3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
    4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
    5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
    6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。

二:备份数据库

    启动数据库

    通过sqldump或者使用navicat客户端备份库数据

    mysqldump  -uroot -p finance > /home/mysql/dev.sql

三:删除数据库

    mysql>drop database finance;

ps:可以物理删除文件,如果是innodb引擎,必须删除mysql.innodb_index_stats和mysql.innodb_table_stats表里相关表的数据

四:去掉参数innodb_force_recovery

五:启动数据库

六:导入数据

mysql -u root -p finance < dev.sql



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145245-1-1.html 上篇帖子: MySQL数据库乱码解决办法 下篇帖子: 初始化数据库后,无法启动mysql案例 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表