MYSQL主主复制部署教程:5.1.21版本详解与步骤

需积分: 10 3 下载量 135 浏览量 更新于2024-09-12 收藏 40KB DOC 举报
MySQL主主复制是一种高可用性和数据冗余的数据库架构,它允许两个或多个Master节点之间实时同步数据,以便在一台主节点出现故障时,另一台可以接管服务。本文档详细记录了在两台主机(A和B)上部署MySQL 5.1.21版本的主主复制过程。 1. **环境准备**: - 主机A的IP地址:192.168.0.231,配置为Master 1(server-id=1),主要关注test数据库的同步。 - 主机B的IP地址:192.168.0.232,配置为Master 2(server-id=2),同样关注test数据库的同步。 - 需要创建授权用户(repl1和repl2)并分配复制权限,确保它们能在两台主机间进行交互。 2. **授权与权限设置**: - 在主机A上,执行SQL命令授予repl2用户复制(replication slave)权限,包括对test数据库的读写权限,以及文件权限。同样,在主机B上,对repl1用户进行相同的授权操作。 - 通过`flush privileges`刷新权限,确保新设置立即生效。 3. **停止MySQL服务**: 在进行任何配置更改前,确保关闭MySQL服务以避免数据冲突。 4. **配置my.cnf文件**: - 在两台主机的my.cnf文件中,启用二进制日志(`log-bin=mysql-bin`)以记录所有更改,这对于主主复制至关重要。 - 配置server-id来区分每个Master,这里是1和2。 - `binlog-do-db=test`指定只记录test数据库的更改。 - 忽略mysql数据库的自增ID和其他可能引起冲突的数据库。 - 设置`replicate-do-db=test`以指示在另一台主机上应用更改。 - `log-slave-updates`记录从Master到Slave的更新。 - `slave-skip-errors=all`允许忽略一些非致命错误,简化复制过程。 - `sync_binlog=1`确保主节点在提交事务后立即写入二进制日志。 - `auto_increment_increment`和`auto_increment_offset`用于管理自增ID,这里是简单的增量和偏移设置。 5. **启动复制过程**: - 重新启动MySQL服务,并确保二进制日志已启用。此时,主机A将开始作为Master 1,主机B会尝试连接并同步数据。 - 如果一切顺利,主机B将成为主机A的Slave,并开始接收并应用来自主机A的更改。 6. **问题排查与维护**: 文档提到作者会随时更新可能出现的问题及其解决方案,这包括但不限于网络连接问题、权限错误、日志文件大小限制等。读者在实际部署过程中,可能会遇到这些或类似的挑战,需要根据文档中的提示或自行查阅MySQL官方文档解决。 总结来说,本文档提供了一个详尽的步骤指南,帮助读者在两台MySQL服务器上实施主主复制,强调了授权、配置和问题解决的重要性。通过这种方式,可以构建一个高可用的数据库集群,提高数据安全性与可靠性。