技术文摘
MySQL5.7 实现双主同步部分表的过程详解
MySQL5.7 实现双主同步部分表的过程详解
在数据库管理中,MySQL 的双主同步部分表功能对于很多场景都至关重要,比如在分布式系统中实现数据的高效同步与管理。下面详细介绍 MySQL5.7 实现双主同步部分表的过程。
环境准备必不可少。确保两台服务器都安装了 MySQL5.7 版本,并且具有基本的数据库配置。两台服务器之间网络畅通,能互相访问。
接着,进行主服务器配置。以服务器 A 为例,修改 MySQL 配置文件(通常是 my.cnf 或 my.ini)。开启二进制日志,设置 server-id 为唯一值,比如 1。配置完成后重启 MySQL 服务,让设置生效。同样的操作在服务器 B 上进行,server-id 设置为 2。
然后,在主服务器 A 上创建用于同步的账号。使用命令“CREATE USER'sync_user'@'%' IDENTIFIED BY 'password';”创建用户,并赋予复制权限“GRANT REPLICATION SLAVE ON . TO'sync_user'@'%' IDENTIFIED BY 'password';”。刷新权限“FLUSH PRIVILEGES;”。在服务器 B 上执行相同操作,创建相同的同步账号。
之后,获取主服务器状态信息。在服务器 A 上执行“SHOW MASTER STATUS;”,记录 File 和 Position 的值。在服务器 B 上使用这些值配置从服务器,执行“CHANGE MASTER TO MASTER_HOST='server_a_ip', MASTER_USER='sync_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='记录的 File 值', MASTER_LOG_POS=记录的 Position 值;”。对服务器 B 执行相同操作,获取状态信息并在服务器 A 上配置从服务器。
接下来是部分表同步的关键设置。在两台服务器上分别创建需要同步的表。然后,在主服务器 A 上使用“binlog-do-db”和“binlog-ignore-db”参数指定要同步和忽略的数据库。例如,“binlog-do-db = db_name”表示只同步该数据库,“binlog-ignore-db = other_db_name”表示忽略该数据库。在服务器 B 上进行类似设置。
最后,启动复制并检查状态。在两台服务器上分别执行“START SLAVE;”,然后使用“SHOW SLAVE STATUS \G;”检查复制状态。确保“Slave_IO_Running”和“Slave_SQL_Running”都为“Yes”,“Seconds_Behind_Master”为 0 或接近 0,表明同步正常。
通过以上详细步骤,就能在 MySQL5.7 中顺利实现双主同步部分表,为数据管理与应用提供有力支持。
- Spring Batch 批处理框架:实力非凡
- Python 中的 PDM 包管理工具
- 有趣的 Javascript 知识点汇总
- SpringBoot:响应数据封装与异常处理的优雅之道
- 解析 SQL 中的 For Xml Path
- 一文带你知晓优雅处理重复请求之道
- “时间”功能测试点大盘点,你知晓多少?
- React 性能优化的方法探究
- Python 神奇技巧:乱序文件重命名编号
- Svelte:前端新宠带来的新思想,赶快学习!
- 敏捷交付下的工程效能治理
- Windows 系统中编写 Python 代码的优秀攻略
- 谷歌新代码补全方法参数量仅 0.5B ,内部生产效率提升 6%
- 今年互联网人跳槽逻辑已变
- 漫谈 Maven 项目代码组织方式