• 常见MySQL数据库无法启动的解决方案


    前言:
    数据库无法启动是在运维中常见的问题,大多是重启服务器、磁盘损坏、配置不当导致的。建议您在面板计划任务中做个数据库全部备份的计划任务,这样在遇到问题的情况下可以及时通过备份进行恢复。
    在根据下面的案例尝试恢复或者启动数据库前,记得做个磁盘快照,以免操作不当增加恢复难度甚至无法恢复。
    正确的做法是:
    1、关闭web服务和其他可以写入磁盘的服务
    2、做好磁盘快照
    3、根据案例的解决方案进行上手操作
    4、如果您不会或者不懂怎么操作,可以联系我们官方客服(面板右下角有客服二维码)

    案例一innodb_buffer_pool_size配置不当导致启动失败

    在这里插入图片描述

    1、出现原因

    1. 服务器可用内存不足,导致无法分配更多的内存给innodb_buffer_pool_size
    2. 服务器内存充足,但是配置参数过大导致无法分配更多的内存给innodb_buffer_pool_size

    2、解决方案

    登录到面板—软件商店—mysql管理界面—性能调整,选择与自己的服务器实际内存相匹配的内存大小,然后重启服务器
    在这里插入图片描述

    案例二、错误提示:InnoDB:Could not find a valid tablespace file for…

    在这里插入图片描述

    1、出现原因

    1. 断电造成服务器关机,开机启动后导致出现innodb存储引擎出现孤立表
    2. 删除表的时候,该表还在使用中,导致未能完全删除,造成损坏
    3. 进行事务回滚时候恢复失败
    4. 非正常关闭MySQL服务造成MySQL物理文件损坏,导致MySQL无法读取物理文件
    5. 其他问题导致

    2、解决方案:

    1、官方文档

    https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
    https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
    
    • 1
    • 2

    2、论坛针对性的教程

    https://www.bt.cn/bbs/thread-87521-1-1.html
    
    • 1

    注意:操作前一定要做个快照或者磁盘备份,避免操作不当导致专业的DBA也无法进行恢复

    案例三、错误提示:Error in Log_event::read_log_event(): ‘Event too small’, data_len: e, event_type: 0

    1、出现原因

    1. 数据库非正常关闭
    2. 切换了MySQL版本导致无法解析mysql的二进制日志

    2、解决方案:

    1、官方文档

    https://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
    https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
    
    • 1
    • 2

    2、论坛针对性的教程

    https://www.bt.cn/bbs/thread-87521-1-1.html
    
    • 1

    注意,操作前一定要做个快照或者磁盘备份,避免操作不当导致专业的DBA也无法进行恢复

    案例四、 错误提示:/bin/mysqld: Table ‘./mysql/user’ is marked as crashed and should be repaired

    在这里插入图片描述

    1、出现原因

    1. MySQL数据库使用的user表损坏导致的

    2、解决方案

    1. 登录到服务器SSH终端里
    2. 使用命令:/www/server/mysql/bin/mysqlcheck -uroot -p数据库密码 mysql user
    3. 修复完后,会有提示mysql.user OK字样,然后重新启动mysql即可

    案例五、错误信息:[ ERROR]Got error 127 when reading table …

    在这里插入图片描述

    1、出现原因

    1. 数据库在读取、写入数据的时候引起数据库文件损坏导致数据库表错误

    2、解决方案

    1. 登录到MySQL命令行中
    2. use对应的数据库
    3. CHECK TABLE wp_options;
    4. REPAIR TABLE wp_options;
    5. 再次检查表,CHECK TABLE wp_options; 如果输出OK,代表已经修复完成

    注意操作前一定做好数据库备份,最好个快照。以免操作不当增加数据库恢复难度。

    案例六 、启动mysql的时候提示:File ‘./mysql-bin.000015’ not found (Errcode: 2 - No such file or directory)

    1、出现原因

    1. 手动删除了数据库的二进制日志
    2. 二进制日志损坏,导致mysql无法读取二进制日志
    3. 其他问题

    2、解决方案

    1. 打开/www/server/data/mysql-bin.index
    2. 删掉提示找不到的mysql-bin.000015
    3. 重启mysql

    操作后可能还会出现其他binlog日志文件找不到的话,可以把mysql-bin.index中记录的二进制日志跟
    /www/server/data/中的mysql-bin.xxxx对比,保留一致的mysql-bin.xxx日志文件; 如果
    /www/server/data/已经没有了mysql-bin.xxxx的话,需要把mysql-bin.index记录的二进制文件全部删掉

  • 相关阅读:
    React 补充
    亲测可用!!!Centos7安装chrome+chromedriver以便实现selenium自动化详细教程
    简单网络管理协议SNMP
    SpringCloud 从入门到入土
    MySQL系列-语法说明以及基本操作(二)
    StringUtils 工具类常用方法汇总 2(截取、去除空白、包含、查询索引)
    Are you sure you want to continue connecting (yes/no) 每次ssh进
    Apache Ranger 是什么?
    Python潮流周刊#6:Python 3.12 有我贡献的代码!
    前端学习基础知识
  • 原文地址:https://blog.csdn.net/u011630259/article/details/134075212