MySQL数据库间同步教程:从零开始设置主从复制

版权申诉
5 下载量 76 浏览量 更新于2024-09-12 收藏 41KB DOC 举报
在开发过程中,有时需要在两台MySQL数据库之间进行同步,以保持数据的一致性。本文针对两台运行FreeBSD 5.4操作系统,分别安装了Apache 2.0.55、PHP 4.4.0,以及MySQL 4.1.15的服务器,提供了一种在它们之间实现单向同步的方法。 首先,确保在两台服务器上安装并配置了MySQL,安装路径均为/usr/local/MySQL。每台服务器有一个特定的角色,例如将192.168.0.1设为主(master)数据库服务器,192.168.0.2作为从(slave)服务器。为了简化,文章建议使用root用户并仅同步数据库abc。 在配置master服务器(192.168.0.1)时,主要步骤包括修改my.cnf配置文件。原始配置文件位于/usr/local/MySQL/share/MySQL/my-medium.cnf,但实际使用时需要将其复制到/var目录下。配置文件中的关键部分需更改,例如将`server-id`设置为1,表示这是master服务器: ```bash # 原始配置 server-id=1 # 添加以下两行以启用同步 sql-bin-update-same // 同步模式 # 可能需要根据实际情况调整的其他参数,如指定要同步的数据库 [mysqld] sync_master_to_slave = 1 master_host = 192.168.0.1 master_user = root master_password = (your_password_here) master_data_file = /var/mysql/abc.ibd // 如果abc不在默认数据目录,替换为实际路径 ``` 确保在修改后的配置中,还包含了`sync_master_to_slave = 1`,这将启用master对slave的数据更新。同时,设置`master_host`、`master_user`和`master_password`,以便slave服务器能够连接master获取数据。 对于slave服务器(192.168.0.2),你需要执行类似的操作,但不设置`server-id`,因为它是从属服务器。此外,你需要将`sql-bin-update-same`或类似的同步设置删除,以免尝试主动更新master。 完成这些配置后,重启MySQL服务使更改生效,并监控数据同步是否成功。定期检查slave服务器的数据一致性,如果遇到问题,可能需要进一步调试和优化。 本文提供了一个基础的指导,实现在FreeBSD环境中两台MySQL数据库间的单向同步,通过调整my.cnf配置文件和管理权限,确保数据的准确传递。实际应用时,可能需要根据项目需求进行定制化配置和安全考量。