赞
踩
一、常见的管理操作
1、查看主库状态
show master status
2、查看从库复制的状态
show slave status
3、在主库上查看从库ip和端口信息
show processlist
show slave hosts
4、reset slave、reset master、reset slave all
1、reset master
删除所有的binlog,并且从头生成一个binlog文件
清空binlog索引文件
在正常的主从复制环境下,一定不要在主库上执行reset master命令,否则会导致主从复制中断,甚至主从数据不一致。
2、reset slave
删除所有的relay log,并从头生成一个relay log
清空relay log索引文件
清空mysql.slave_relay_log_info和mysql.slave_worker_info表的内容
清除mysql.slave_master_info表中binlog的位置点信息,但是会保存链接信息
既然连接信息还存在,就可以通过start slave重启复制。在gtid复制中,因为有gtid_executed,这样操作是没有问题的,复制可以继续。
但是如果是基于位置点复制,切记不要操作这个命令,因为io线程会从主库现有的第一个binlog开始重新拉取数据,容易导致主从不一致,复制中断。
3、判断主库的某个操作是否已经在从库执行
二、跳过指定事务
主从复制中断绝大多数情况下是sql线程应用错误,这个时候show slave status中的last_sql_error会显示具体的错误信息。
为了恢复主从复制,我们有时候会跳过这个事务,时候再分析主从复制中断的原因。
基于位置点的复制
stop slave;
set global sql_slave_skip_counter=1;
start slave;
gtid复制
stop slave;
set session gtid_next='...';
begin;
commit
set session gtid_next='automatic';
start slave;
注意:
跳过之后会导致主从数据不一致,在业务不保证数据强一致性的情况下,可以选择忽略(技术永远是为业务提供服务的!)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。