iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >【mysql】清理binlog导致数据库启失败解决方案
  • 380
分享到

【mysql】清理binlog导致数据库启失败解决方案

数据库mysql运维 2023-09-06 10:09:19 380人浏览 薄情痞子
摘要

记录一次Mysql启动失败解决方案 文章目录 1.由于binlog占用磁盘空间太大,清理掉之后数据库启动不了2.网上找的解决方案删除bin-log.index来解决3.之后查看mysql.lo

记录一次Mysql启动失败解决方案

文章目录


1.由于binlog占用磁盘空间太大,清理掉之后数据库启动不了

systemctl restart mysqld

卡住不动了

2.网上找的解决方案删除bin-log.index来解决

把/var/lib/myql/bin-log.index里面的内容也删掉,注释掉配置文件的bin-log,启动服务,结果还是不行

3.之后查看mysql.log日志发现一直在报错

[ERROR] [MY-012894] [InnoDB] Unable to open './#innodb_redo/#ib_redo17190' (error: 1504)

4.然后检查文件是否存在

ls -l ./#innodb_redo/#ib_redo17190

结果没有这个文件

5.后来觉得是mysql启动去读取InnoDB日志文件导致的

在MySQL数据目录中删除InnoDB日志文件
也就是/var/lib/mysql目录下

sudo rm -rf ./#innodb_redo/

结果启动依旧解决不了

6.最终强制重启数据库

心里觉得数据应该都没丢失,只要数据库先启动就能解决

设置innodb_force_recovery=1是一种MySQL数据库的应急修复模式,它用于尝试恢复由于InnoDB引擎发生故障而导致的数据库崩溃
在/etc/my.cnf中

[mysqld]innodb_force_recovery=1   ####最好放在首行

当将innodb_force_recovery参数设置为1时,MySQL将在启动过程中尝试执行一些简化和跳过错误检查的操作,以允许数据库在某种程度上继续运行。这可以帮助您备份或导出数据,并诊断和解决底层问题。

请注意以下事项:

  1. 强制恢复模式不是一个持久的解决方案,它只是为了临时修复数据库并确保数据可用。在应用该模式后,请尽快采取必要的措施来解决根本的问题,并进行适当的修复。
  2. 在强制恢复模式下,数据库可能无法完全正常工作,并可能存在数据损坏的风险。因此,请在确定风险并备份数据的情况下操作。
  3. 在完成数据备份后,应立即关闭数据库并进行修复工作。具体的修复步骤将取决于实际的数据库故障原因和情况。

总之,使用innodb_force_recovery=1仅限于临时应对数据库故障的情况,并且需要后续的详细故障诊断和修复工作。建议在尝试此模式之前备份数据并与数据库专家或管理员进行进一步的讨论和指导。

7.添加之后服务重启mysql服务,启动不卡住了,直接启动报错了

Neither found #innodb_redo subdirectory, nor ib_logfile* files

原因找到了,是我把/#innodb_redo/目录删掉导致的
其实只要清空改目录就可以了

8.解决方案

在my.cnf里加上这两句指定一下日志存放目录可以了
还要在/var/lib/mysql下创建两个目录

mkdir \#innodb_redomkdir  mysql-binchown -R mysql:mysql #innodb_redo    ###记得改权限chown -R mysql:mysql  mysql-bin
[mysqld]log_bin_basename=/var/lib/mysql/mysql-bininnodb_log_group_home_dir=/var/lib/mysql/redo_log/#innodb_redo

重启数据库完美解决
记得重启成功后将my.cnf里面的innodb_force_recovery=1给注释掉
附加一个mysql8的binlog自动清理命令
设置二进制日志过期时间为7天(相当于expire_logs_days=7),请执行以下命令:

sql

SET GLOBAL binlog_expire_logs_seconds = 604800; -- 7天的秒数

来源地址:https://blog.csdn.net/qq_45547688/article/details/131227204

您可能感兴趣的文档:

--结束END--

本文标题: 【mysql】清理binlog导致数据库启失败解决方案

本文链接: https://www.lsjlt.com/news/396872.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作