【mysql】主从同步时出错,如何恢复同步

mysql主从同步出错,这个时候从服务器会停止同步服务,等待人工恢复,此时有多种方法来解决。

一、查看状态

从服务器,登陆mysql,查询从服务器的状态:

sql 复制代码
从服务器mysql> show slave status\G

图1

可以看出从服务器出现1049错误。

二、解决方案1:解决异常

比如图1,提示数据库不存在(可能在从服务器被删掉了),那么可以在从服务器创建一个空的数据库,然后重启:

sql 复制代码
-- 停止同步
从服务器mysql> stop slave;
-- 启动同步
从服务器mysql> slave start;
-- 查看状态
从服务器mysql> show slave status;

图2

三、解决方案2:跳过异常

这里也有三种解决方法。

3.1 跳过N个事务

sql 复制代码
-- 停止同步
从服务器mysql> stop slave;
-- 跳过操作
从服务器mysql> set global sql_slave_skip_counter=1;
-- 启动同步
从服务器mysql> start slave;
-- 查看状态
从服务器mysql> show slave status;

3.2 跳过某种类型错误

从服务器,编辑 /etc/my.cnf:

mysqld

slave-skip-errors=1049,1007,1008

错误号可以参考图1查询,比如图1的错误号是 1049。

修改后重启mysql服务。

bash 复制代码
从服务器$ service mysqld restart

3.3 跳过所有错误

从服务器,编辑 /etc/my.cnf:

mysqld

slave-skip-errors=all

修改后重启mysql服务。

bash 复制代码
从服务器$ service mysqld restart
相关推荐
敲个大西瓜9 小时前
Redis一百道核心面试题
数据库·redis·缓存
無a伟12 小时前
Redis持久化详解:RDB与AOF原理、配置、优缺点
数据库
小罗水13 小时前
附录A 各微服务完整 application.yml 配置汇总
数据库·elasticsearch·微服务
muddjsv13 小时前
SQLite 外键进阶:CASCADE / SET NULL / 级联更新与完整性校验
数据库·sqlite
APItesterCris13 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
Nturmoils14 小时前
查库存的 SQL 时灵时不灵,最后发现是 WHERE 里两个函数在打架
数据库
不想纳尼的青春14 小时前
where = 的作用?会影响性能吗?count(*) 和 count()哪个快?
数据库·oracle
倔强的石头_15 小时前
Spring Boot 接入金仓数据库:配置分层、启动自检与常见错误
数据库
杨云龙UP15 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad
黑桃小柒715 小时前
Django模型关系:从一对多到多对多全解析
数据库·django·sqlite