技术文摘
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 中顺利实现双主同步部分表,为数据管理与应用提供有力支持。
- PyTorch 多 GPU 分布式训练入门指南
- 图文详解悲观锁与乐观锁
- 在 VSCode 中开发 Vue 应用
- TypeScript 开发 Node.js 应用的手把手教程
- Python 与 Prometheus 助力天气跟踪
- GitHub 7700 星:Python 百日从新手变大师
- 程序员如何让 VSCode 更优雅
- 服务部署实现高可用的“三级跳”秘籍
- 谈判失利:Oracle 致使 Java EE 消亡 企业级 Java 重大损失
- 7 个免费的 Java 在线学习优秀网站
- 甲骨文缘何终结 Java EE
- PyTorch 最佳实践:打造风格优美的代码秘籍
- 怎样选对 Node 框架:Next、Nuxt、Nest
- 1 行 Python 代码能做何事?这 13 个你清楚吗?
- Redis 漫谈(1):知识图谱的构建