【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
相关推荐
XiaoLeisj30 分钟前
【MyBatis】深入解析 MyBatis XML 开发:增删改查操作和方法命名规范、@Param 重命名参数、XML 返回自增主键方法
xml·java·数据库·spring boot·sql·intellij-idea·mybatis
dleei1 小时前
MySql安装及SQL语句
数据库·后端·mysql
信徒_2 小时前
Mysql 在什么样的情况下会产生死锁?
android·数据库·mysql
嘴对嘴编程3 小时前
oracle数据泵操作
数据库·oracle
苹果酱05673 小时前
Golang标准库——runtime
java·vue.js·spring boot·mysql·课程设计
·薯条大王9 小时前
MySQL联合查询
数据库·mysql
morris13111 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch11 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人12 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰12 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql