MySQL 主从更新滞后问题
如何强制master在slave赶上全部更新之前阻止更新?
答:执行以下步骤:
1. 在master上,执行以下语句:
mysql> FLUSH TABLES WITH READ LOCK;(阻止所有的更新)
mysql> SHOW MASTER STATUS;
记录下结果中的日志文件名以及偏移位置,它们是同步的座标值。
2. 在slave上,提交以下语句,MASTER_POS_WAIT() 函数的参数的值就是前面取得的同步座标值:
mysql> SELECT MASTER_POS_WAIT('log_name', log_offset);
SELECT 语句会阻止更新,直到slave同步到了上述日志文件及位置。在这个时候,slave就和master保持同步了,并且这个语句就会返回。
3. 在master上,执行以下语句允许master重新处理更新操作:
mysql> UNLOCK TABLES;
答:执行以下步骤:
1. 在master上,执行以下语句:
mysql> FLUSH TABLES WITH READ LOCK;(阻止所有的更新)
mysql> SHOW MASTER STATUS;
记录下结果中的日志文件名以及偏移位置,它们是同步的座标值。
2. 在slave上,提交以下语句,MASTER_POS_WAIT() 函数的参数的值就是前面取得的同步座标值:
mysql> SELECT MASTER_POS_WAIT('log_name', log_offset);
SELECT 语句会阻止更新,直到slave同步到了上述日志文件及位置。在这个时候,slave就和master保持同步了,并且这个语句就会返回。
3. 在master上,执行以下语句允许master重新处理更新操作:
mysql> UNLOCK TABLES;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
MySQL 核心模块揭秘 * 20 期 * MySQL 怎么加表锁?
原創
2024-06-13 23:59:22
【运维技巧】海豚调度工作流实例卡在正在停止&任务实例卡在正在运行怎么办?
原創
2024-06-13 21:22:20
数据库开发工具如何选择?dbForge Studio或Navicat
原創
2024-06-12 12:16:56
DophinScheduler 如何定期删除日志实例?
原創
2024-06-12 11:26:18
SonarQube代码质量检测线上配置指南
原創
2024-06-12 01:12:57
一个 Clickhouse 集群磁盘损坏恢复数据的案例
原創
2024-06-11 23:59:12
ClickHouse内幕(1)数据存储与过滤机制
原創
2024-06-07 23:54:51
MySQL 核心模块揭秘 * 19 期 * 锁模块里有什么?什么样?
原創
2024-06-06 11:58:40
EMQX Enterprise 5.7 发布:新增会话持久化、消息 Schema 验证、规则引擎调试与追踪功能
原創
2024-06-05 22:10:05
修复 MySQL 8.4 的 "mysql_native_password is not loaded" 插件未加载错误
vga
2024-06-04 14:30:04
告别内存OOM,解决MySQL内存增长问题
原創
2024-06-04 11:09:29
第 53 期:MySQL 创建了用户却无法登陆
原創
2024-06-04 02:43:21
第 53 期:MySQL 创建了用户却无法登陆
原創
2024-06-04 02:43:03
pfinder实现原理揭秘
原創
2024-06-04 02:39:24