【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
相关推荐
arronKler8 小时前
大数据量高并发的数据库优化
服务器·数据库·oracle
祖传F879 小时前
SQL DATE()函数会抹去时间戳
数据库·sql
untE EADO9 小时前
在 MySQL 中使用 `REPLACE` 函数
android·数据库·mysql
Absurd5879 小时前
Redis如何限制列表最大长度_利用LTRIM指令截断List保留最新记录
jvm·数据库·python
2401_882273729 小时前
SQL函数面试题解析_函数性能与设计考点
jvm·数据库·python
l1t9 小时前
DeepSeek总结的DuckDB internals 的 设计与实现 (DiDi)
数据库·duckdb
a9511416429 小时前
mysql查询分析中如何快速识别全表扫描_通过EXPLAIN中的type列检查
jvm·数据库·python
coNh OOSI9 小时前
Redis——Windows安装
数据库·windows·redis
weixin_424999369 小时前
mysql如何防止索引被错误使用_mysql查询计划强制约束
jvm·数据库·python
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.9 小时前
Redis主从复制配置全攻略
数据库·redis·笔记