MySQL数据库报错--增量备份开启二进制日志文件错误

本文解决了一个因删除并重新配置MySQL二进制日志文件导致的服务无法启动问题,通过更改/etc/my.cnf中二进制日志文件名,成功恢复了MySQL服务。

错误之前所作的操作

在/etc/my.cnf文件中开启了mysqld的二进制日志文件,然后将产生的二进制日志文件删除,再重新开启,服务就不能开启了

错误描述

mysql服务一直重启不了

查看错误信息

[root@localhost ~]# systemctl restart mysqld
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl status mysqld.service
 mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since  2020-08-24 19:59:08 CST; 336ms ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
  Process: 28731 ExecStart=/usr/local/mysql/bin/mysqld --daemonize --pid-file=/usr/local/mysql/mysqld.pid $MYSQLD_OPTS (code=exited, status=1/FAILURE)
  Process: 28713 ExecStartPre=/usr/local/mysql/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
 Main PID: 27399 (code=exited, status=0/SUCCESS)

8 24 19:59:07 localhost.localdomain systemd[1]: Failed to start MySQL Server.
8 24 19:59:07 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
8 24 19:59:07 localhost.localdomain systemd[1]: mysqld.service failed.
8 24 19:59:08 localhost.localdomain systemd[1]: mysqld.service holdoff time over, scheduling restart.
8 24 19:59:08 localhost.localdomain systemd[1]: Stopped MySQL Server.
8 24 19:59:08 localhost.localdomain systemd[1]: start request repeated too quickly for mysqld.service
8 24 19:59:08 localhost.localdomain systemd[1]: Failed to start MySQL Server.
8 24 19:59:08 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
8 24 19:59:08 localhost.localdomain systemd[1]: mysqld.service failed.
[root@localhost ~]# journalctl -xe
8 24 19:59:06 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:06.282440Z 0 [Note] InnoDB: Starting shutdown...
8 24 19:59:06 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:06.383337Z 0 [Note] InnoDB: Dumping buffer pool(s) to /usr/local/mysql/data/ib_buffer_pool
8 24 19:59:06 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:06.384556Z 0 [Note] InnoDB: Buffer pool(s) dump completed at 200824 19:59:06
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.694853Z 0 [Note] InnoDB: Shutdown completed; log sequence number 2840759
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696026Z 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696077Z 0 [Note] Shutting down plugin 'MEMORY'
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696085Z 0 [Note] Shutting down plugin 'CSV'
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696087Z 0 [Note] Shutting down plugin 'sha256_password'
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696089Z 0 [Note] Shutting down plugin 'mysql_native_password'
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696219Z 0 [Note] Shutting down plugin 'binlog'
8 24 19:59:07 localhost.localdomain mysqld[28731]: 2020-08-24T11:59:07.696348Z 0 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
8 24 19:59:07 localhost.localdomain systemd[1]: Failed to start MySQL Server.
-- Subject: Unit mysqld.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysqld.service has failed.
-- 
-- The result is failed.
8 24 19:59:07 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
8 24 19:59:07 localhost.localdomain systemd[1]: mysqld.service failed.
8 24 19:59:08 localhost.localdomain systemd[1]: mysqld.service holdoff time over, scheduling restart.
8 24 19:59:08 localhost.localdomain systemd[1]: Stopped MySQL Server.
-- Subject: Unit mysqld.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysqld.service has finished shutting down.
8 24 19:59:08 localhost.localdomain systemd[1]: start request repeated too quickly for mysqld.service
8 24 19:59:08 localhost.localdomain systemd[1]: Failed to start MySQL Server.
-- Subject: Unit mysqld.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mysqld.service has failed.
-- 
-- The result is failed.
8 24 19:59:08 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
8 24 19:59:08 localhost.localdomain systemd[1]: mysqld.service failed.

解决办法

将/etc/my.cnf文件中原来定义的二进制日志文件名重新定义,改一个名字,就可以正常开启了。

### 日志文件路径配置错误数据库恢复的影响 在进行数据库恢复操作时,日志文件路径配置错误可能导致多种问题,具体影响包括但不限于以下几点: 1. **无法完成恢复操作**:如果数据库在恢复过程中无法访问到指定的日志文件路径,恢复操作将无法继续执行。例如,在 MySQL增量恢复中,若 `IMAGELOGPATH` 或二进制日志路径配置错误,系统将无法读取必要的日志文件,从而导致恢复失败[^1]。 2. **数据不一致或丢失**:日志文件用于记录数据库的变更操作,恢复过程中依赖这些日志文件来确保数据的一致性。如果日志文件路径配置错误,可能导致恢复操作遗漏某些变更,进而造成数据不一致或部分数据丢失[^4]。 3. **恢复过程中的断点恢复失败**:在基于位置或时间的断点恢复中,系统会从指定的日志文件中读取特定位置或时间点的数据进行恢复。如果日志文件路径错误,系统可能无法找到正确的日志文件或指定的恢复点,导致断点恢复失败。 4. **增加恢复时间**:如果日志文件路径配置错误,可能导致恢复过程中频繁报错或需要人工干预,从而延长恢复时间。此外,如果日志文件未正确配置,可能需要重新生成日志文件,进一步增加恢复时间[^1]。 5. **影响增量备份的有效性**:增量备份依赖于日志文件来记录自上次备份以来的所有变更。如果日志文件路径配置错误增量备份将无法正确记录变更信息,导致在恢复时无法使用这些备份文件进行有效恢复[^1]。 6. **日志文件路径权限问题**:即使日志文件路径配置正确,如果数据库实例对目标路径没有足够的读写权限,也可能导致恢复失败。例如,在虚拟机环境中,日志文件路径可能指向一个不存在的目录,或者数据库实例对该目录没有访问权限,这将导致恢复操作无法正常进行。 7. **日志文件损坏或缺失**:如果日志文件路径配置错误,可能导致日志文件被写入到错误的目录,或者根本无法写入。在这种情况下,日志文件可能损坏或缺失,进一步影响恢复操作的完整性和准确性[^1]。 8. **恢复过程中出现意外错误**:日志文件路径配置错误可能导致恢复过程中出现各种意外错误,例如系统报错、恢复进程异常终止等。这些问题可能会导致恢复操作中断,甚至需要重新开始整个恢复过程[^4]。 9. **影响数据库的可用性**:在某些情况下,日志文件路径配置错误可能导致数据库在恢复后无法正常启动或运行。例如,如果日志文件路径指向的目录不可用,数据库可能无法加载必要的日志信息,导致服务启动失败[^2]。 10. **增加维护成本**:由于日志文件路径配置错误可能导致恢复失败或数据不一致,维护人员需要花费额外的时间和精力来排查问题并进行修复。这不仅增加了维护成本,还可能影响业务的正常运行[^1]。 ### 示例代码 ```bash # 查看 MySQL二进制日志是否开启 SHOW VARIABLES LIKE 'log_bin'; # 查看 MySQL错误日志路径 SHOW VARIABLES LIKE 'log_error'; # 查看 MySQL 的慢查询日志是否开启 SHOW VARIABLES LIKE 'slow_query_log'; # 查看 MySQL 的慢查询时间设置 SHOW VARIABLES LIKE 'long_query_time'; ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值