mysql实战——mysql主从复制管理

一、常见的管理操作

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;

注意:

跳过之后会导致主从数据不一致,在业务不保证数据强一致性的情况下,可以选择忽略(技术永远是为业务提供服务的!)

相关推荐
水题检测鸟4 分钟前
ACID及事务隔离级别
数据库
Obsession12348 分钟前
MySQL高可用之 MMM结构
数据库·mysql
进窄门见微光行远路16 分钟前
MySQL-核心知识要点
数据库·mysql
wowocpp1 小时前
ubuntu 18 虚拟机安装(1)
mysql
番茄炒西红柿炒蛋1 小时前
秋招Java后端开发冲刺——非关系型数据库篇(Redis)
数据库·redis·nosql
u0104058361 小时前
正则表达式数字匹配技巧与应用场景分析
java·mysql·正则表达式
modelsetget1 小时前
MySQL锁机制详细笔记
数据库·mysql·面试·数据库锁
人才程序员1 小时前
【Rust入门】生成随机数
开发语言·数据库·后端·单片机·rust
小森( ﹡ˆoˆ﹡ )1 小时前
【neo4j图数据库】入门实践篇
数据库·人工智能·机器学习·nlp·neo4j
天蓝蓝的本我1 小时前
SQL Server查看所有的数据库、所有的表 以及表的描述
数据库·sqlserver