Mysql主备问题记录
mysql 问题 记录 主备
2023-06-13 09:16:25 时间
1. 备上报错找不到log文件,
问题背景:在配置好的mysql主备环境上,正常运行状态下,两台服务器断电,上电后报错如下:
mysql报错
错误日志:
2019-08-05 09:35:43 29817 [ERROR] Slave I/O: error reconnecting to master 'root@172.103.201.105:23306' - retry-time: 10 retries: 1, Error_code: 2003
2019-08-05 09:35:55 29817 [Note] Slave: connected to master 'root@172.103.201.105:23306',replication resumed in log 'mysql-bin.000005' at position 963
2019-08-05 09:35:55 29817 [ERROR] Error reading packet from server: Could not open log file (server_errno=1236)
2019-08-05 09:35:55 29817 [ERROR] Slave I/O: Got fatal error 1236 from master when reading data from binary log: 'Could not open log file', Error_code: 1236
在主上发现mysql服务无法启动,日志报错:
2019-08-05 10:06:08 22242 [Note] InnoDB: 5.6.30 started; log sequence number 3827823
/var/hms/base_service/mysql/mysql/bin/mysqld: File '/var/hms/base_service/mysql/backup/mysql-bin.000006' not found (Errcode: 2 - No such file or directory)
2019-08-05 10:06:08 22242 [ERROR] Failed to open log (file '/var/hms/base_service/mysql/backup/mysql-bin.000006', errno 2)
2019-08-05 10:06:08 22242 [ERROR] Could not open log file
2019-08-05 10:06:08 22242 [ERROR] Can't init tc log
2019-08-05 10:06:08 22242 [ERROR] Aborting
打开mysql-bin.index,发现index中文件已经记录到mysql-bin.000006,而真实不存在这个文件,因此mysql启动时报找不到binlog日志文件; 解决此问题第一步: 编辑mysql-bin.index,删除mysql-bin.000006记录,重启mysql,服务即可启动 第二步,在备机上发现主备同步状态未有任何改变;仍然报错,究其原因,实际上就是备机上的relay-bin log与主机上的mysql-bin log不匹配导致,思路就是清理掉备机上的relay log 在备机上进入mysql命令行执行:
stop slave;
reset slave;
CHANGE MASTER TO MASTER_HOST='xx.xx.xx.xx',
MASTER_PORT=3306,
MASTER_USER='root',
MASTER_PASSWORD='$rootpasswd',
MASTER_AUTO_POSITION=1,
MASTER_CONNECT_RETRY=10,
MASTER_HEARTBEAT_PERIOD=10000
start slave;
再执行 show slave status\G,可以看到:
备机配置正常
持续更新中
相关文章
- MySQL锁机制:如何释放锁?(mysql锁释放)
- MySQL 主主主从架构:双倍保障(mysql主主主从)
- 掌握MySQL的基础知识,踏上数据库之旅(mysql的基础知识)
- MySQL更新记录:一次成功编辑(mysql更新一条记录)
- MySQL单表最大记录:探讨其限制(mysql单表最大记录数)
- MySQL函数:简单而强大的功能(mysql函数作用)
- 长MySQL外键自增长:解决数据一致性问题(mysql外键自增)
- MySQL 日志记录:有效分析工具(mysql日志工具)
- MySQL中添加多个索引的方法(mysql添加多个索引)
- MySQL中查询用户名和密码的方法(mysql查看用户和密码)
- MySQL查询失败:无法查询表(mysql无法查询表)
- MySQL表拷贝:实现简单、高效的数据迁移(mysql表拷贝)
- 深入解析:如何下载MySQL(怎么下载mysql)
- MySQL数据库报错2003,解决方法自己动手!(mysql数据库2003)
- 库连不上MySQL:牵涉的灾难一天,数据库连接问题(mysql某天数据)
- 清空MySQL中怎么清空所有记录条数?(mysql记录条数)
- MySQL: 解决页面乱码问题(mysql页面显示乱码)
- MySQL远程使用:掌握基础知识,远程操作Mysql数据库。(mysql远程使用)
- Mysql Code Generator: Simplifying Database Management with Automated Solutions.(mysql代码生成)
- MySQL 主从复制故障解决方案(mysql 主从修复)
- MySQL 日志记录:洞悉操作秘诀(mysql 记录日志)
- MySQL如何使用区间进行数据查询和筛选?(mysql区间)
- MySQL中使用IN子句出现重复值问题的解决方法(mysql中in有重复值)
- 自动化MySQL数据库运维实践(aauto mysql)
- 详解MySQL的三级城市表设计方法(mysql 三级城市表)
- 解析MySQL无行锁优势与风险(mysql不加行锁)
- 解决方案MySQL限制IP登录的问题(mysql不允许ip登录)
- MySQL无需身份验证(mysql不使用auth)
- 解决MySQL数据不显示的问题(mysql不显示)