首页 > 数据库 >主从同步问题排查常用sql

主从同步问题排查常用sql

时间:2024-01-30 16:02:11浏览次数:46  
标签:binlog slave show 排查 master sql mysql1 主从

我们在配置mysql主从的时候经常会遇到一些问题,同步延迟、定位binlog错误、查看binlog等等问题,一般大家可能会用到其他方式或者命令,我一般都是采用纯sql的方式进行排查,这里把我常用的一些方法分享给大家:

1.查询master和slave的状态

show master status;
show slave status;

2.通过show binary logs可以查看master上的binlog,当然前提是你要开启binlog

show binary logs;

主从同步问题排查常用sql_sql

3.然后找到你需要的binlog,一般就是最后一条数字最大的,然后使用以下sql就能查看具体的binlog的内容

show binlog EVENTS in 'prod-mysql1-bin.001700'

主从同步问题排查常用sql_mysql_02

但是这个结果能定位一些问题,但是不能查看具体的sql,这个时候就要开启具体让mysql记录详细的sql,大家自行权衡binlog因此带来的空间增加,但是的确很方便

show variables like 'binlog_rows_query_log_events';
set global binlog_rows_query_log_events=1;

设置后再次查询,就会看到完整的sql了,是不是很方便

主从同步问题排查常用sql_sql_03

4.binlog由于很大很长,因此我们还会用到一些过滤条件,比如:

查询偏移

show binlog EVENTS in 'prod-mysql1-bin.001278' FROM 293791873 limit 200000

查询sql类型

show binlog EVENTS in 'prod-mysql1-bin.001278' AND EVENT_type = 'Delete_rows'


  1. 如果某个时刻我们要跳过一些Pos,或者要回退到某个Pos重新同步,这个时候就需要重置slave的偏移,步骤如下:
1.stop slave;
2.RESET slave;
3.change master to master_host='10.10.10.1',
  master_user='backup-mysql1',
  master_password='password',
  master_log_file='prod-mysql1-bin.000632',
  master_log_pos=1799348137;

如果master服务器、用户、密码没有变化,可以简化为

change master to
master_log_file='prod-mysql1-bin.000628',
master_log_pos=296120546;

最后,当前别忘了启动slave

start slave;

这样,就能更改slave数据库的同步偏移.

6.其他一些sql

-- 查看具体的同步错误  
select * from performance_schema.replication_applier_status_by_worker;
-- 过滤掉不需要同步
change replication filter replicate_ignore_table=(db1.order);


标签:binlog,slave,show,排查,master,sql,mysql1,主从
From: https://blog.51cto.com/u_4409522/9488943

相关文章

  • Zabbix升级MySQL数据库的故障
    收到一个MySQL安全漏洞告警,需要修复OracleMySQLJAN2024CriticalPatchUpdate因此想着升级MySQL,步骤如下:sudoapt-getupdatesudoapt-getupgrademysql-serversudosystemctlrestartmysqlmysql--version完成后Zabbix网页界面能打开,但是提示错误如下:TheZabbixdatabaseve......
  • mysql限定IP访问
     一、修改配置文件1.编辑MySQL的配置文件my.cnf(或者my.ini),该文件通常位于MySQL的安装目录下。2.找到[mysqld]部分,添加或修改以下行以启用访问控制:bind-address=0.0.0.0这将使MySQL监听所有IP地址。3.找到[mysqld]部分之后,在配置文件中添加以下行来限制允许访问的IP地......
  • MySQL-8.0.30升级MySQL-8.0.34
    记录一次MySQL漏洞升级操作升级背景:OracleMySQL官方发布MySQL-8.0.30版本高危漏洞CVE-2022-32221、CVE-2022-37434等,受影响版本涉及到8.0.32,官方建议升级至8.0.33,最好使用8.0.34,这里我们将MySQL-8.0.30升级至MySQL-8.0.34版本方案:将原mysql目录重命名,解压新的程序目录软链接到......
  • 如何重写gorm日志(实现自定义慢sql打印)
    1.什么是gormGORM是一个流行的Go语言ORM(对象关系映射)库,用于处理数据库的CRUD(创建、读取、更新、删除)操作。它是一个开源的库,通过简洁的API使得对数据库的操作就像操作对象一样自然,无需编写大量的SQL代码。GORM支持主流的关系数据库,如MySQL、PostgreSQL、SQLite以及Mic......
  • [转帖]Oracle获取被锁的SQL源头
    https://blog.csdn.net/weixin_42233789转载:https://blog.csdn.net/robinson1988/article/details/106204387各位DBA,看到这篇文章是不是很开心,解决了你一个大麻烦,赶紧把它部署到实时监控程序吧(咳咳,转载,抄袭不注明文章出处的人可耻哈)session1:updateemp_baksetename=......
  • MySQL建索引报错:BLOB/TEXT column used in key specification without a key length
    MySQL建索引报错:BLOB/TEXTcolumnusedinkeyspecificationwithoutakeylength因为text类型的字段值太长,没办法为全部内容建立索引,只能指定前多少位字符建立索引;就像这样createindex`索引名`on表名(字段名(600));所以能用varchar能放下的尽量使用varchar吧......
  • 在 Windows 平台下安装与配置 MySQL 5.7.36
    Windows一般使用两种MySQL安装方式,即MySQL二进制分发版(.msi安装文件)和免安装版(.zip压缩文件)。一般来讲,应当使用二进制分发版,因为该版本比其他的分发版使用起来要简单,不再需要其他工具来启动就可以运行MySQL。本次实验是在Windows10平台上选用图形化的二进制安装方式,其他W......
  • [转帖]SQL SERVER--- 排序规则、数据类型
    https://zhuanlan.zhihu.com/p/162933497 一、排序规则有时候我们向数据库插入文本时,会出现乱码“?”,这时有可能是我们创建数据库没有设置好排序规则以Chinese_PRC_CI_AS为例前半部分Chinese_PRC指的是针对大陆简体字unicode的排序规则后半部分的含义为:_BIN二进......
  • 必备SQL和表关系
    必备SQL和表关系1.必备SQL创建数据createtabledepart( idint(4)notnullauto_incrementprimarykey,titlevarchar(20)notnull);createtableinfo( idint(4)notnullauto_incrementprimarykey,namevarchar(20)notnull,emallvarcha......
  • python操作mysql
    python操作mysql1.数据库连接池在操作数据库时需要使用数据库连接池。pip3.9installpymysql#安装pymysqlpip3.9installdbutils#安装dbutilsimportthreadingimportpymysqlfromdbutils.pooled_dbimportPooledDBMYSQL_DB_POOL=PooledDB(creator=pym......