MySQL读写分离之主从一致性

本文探讨了MySQL一主多从架构下,确保从库数据实时性的两种方法:等主库位点方案和GTID法。通过执行特定SQL语句,等待主库更新同步完成,从而在从库上进行安全的查询操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL一主多从时如何保证从库读到的数据是最新的?

等主库位点方案

  1. 主库事务更新后,马上执行show master status得到当前主库执行的File和position;
  2. 选定一个从库执行查询操作;
  3. 在从库上执行 select master_pos_wait(File, position, 1);其中1是timeout1s;该命令返回的是一个正整数,超时返回-1,错误返回NULL。
  4. 如果返回值>=0,则在从库执行查询语句; 否则,说明还没同步完成,到主库执行查询。

GTID法–数据库需要开启gtid方案

  1. 事务更新完成以后,从返回包中直接获取这个事务的GTID,记为gtid1;
  2. 选定一个从库执行查询操作;
  3. 在从库上执行select wait_for_executed_gtid_set(gtid1, 1);
  4. 如果返回值是0,则说明同步完成,否则到主库执行查询;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值