MySQL手动主从同步不锁表的实现过程
一、MySQL 手动主从同步
MySQL 手动主从同步是指在 MySQL 主从复制中,由管理员手动控制主从复制的过程,以确保主从数据库的一致性。主从同步的过程中,可以指定某些表不参与复制,以免发生主从数据库不一致的情况。
二、实现过程
1. 首先,在 MySQL 主服务器上,使用 FLUSH TABLES WITH READ LOCK
命令锁定所有表,禁止任何更新操作;
2. 然后,使用 SHOW MASTER STATUS
命令查询主服务器上的 binlog 日志文件,记录 binlog 日志文件的文件名和位置;
3. 接着,使用 UNLOCK TABLES
命令解锁表,允许更新操作;
4. 最后,在从服务器上,使用 CHANGE MASTER TO MASTER_HOST=' 主服务器 IP',MASTER_LOG_FILE='binlog 日志文件名 ',MASTER_LOG_POS=binlog 位置
命令,指定从服务器从哪个主服务器复制,从哪个 binlog 日志文件开始复制,以及复制的位置;
三、不锁表的实现
为了避免在 MySQL 主从复制过程中,锁定表导致的更新操作不可用,可以采用不锁表的方式实现 MySQL 手动主从同步。
1. 首先,在 MySQL 主服务器上,使用 FLUSH TABLES WITH READ LOCK
命令锁定表,禁止任何更新操作;
2. 然后,使用 SHOW MASTER STATUS
命令查询主服务器上的 binlog 日志文件,记录 binlog 日志文件的文件名和位置;
3. 接着,使用 UNLOCK TABLES
命令解锁表,允许更新操作;
4. 最后,在从服务器上,使用 CHANGE MASTER TO MASTER_HOST=' 主服务器 IP',MASTER_LOG_FILE='binlog 日志文件名 ',MASTER_LOG_POS=binlog 位置
命令,指定从服务器从哪个主服务器复制,从哪个 binlog 日志文件开始复制,以及复制的位置;
这样就可以实现不锁表的 MySQL 手动主从同步,从而避免在复制过程中,锁定表导致的更新操作不可用的问题。
猜您想看
-
如何在 LEDE 路由器上配置 Web 服务器?
如何在 LED...
2023年04月17日 -
keras如何实现图像风格转换 -
一、什么是图像...
2023年05月26日 -
大数据中的延时布尔盲注是怎样的
延时布尔盲注是...
2023年07月21日 -
企业网站如何优化搜索引擎
一、网站建设优...
2023年05月26日 -
怎么用Emacs发送电子邮件和检查日历
一、发送电子邮...
2023年05月26日 -
Pytorch中使用tensorboard中如何添加网络结构add_graph
1.PyTor...
2023年05月25日