MySQL集群M-M部署教程(Linux环境)

需积分: 0 0 下载量 20 浏览量 更新于2024-08-04 收藏 156KB DOCX 举报
"该文档是关于在Linux环境下部署MySQL主主复制(M-M)架构的手册,主要适用于调兵山项目。手册详细介绍了MySQL的下载、安装、配置以及主主复制的设置步骤。" 在MySQL的多主复制(Master-Master Replication)部署中,两个或多个MySQL服务器可以互相作为主节点,彼此同步数据,实现高可用性和数据冗余。以下是该手册涉及的关键知识点: 1. MySQL下载与安装: - 访问MySQL官方网站下载最新稳定版本,例如`mysql-5.7.27-linux-glibc2.12-x86_64`。 - 使用`tar`命令解压缩下载的文件,并将其移动到适当的目录,如`/opt/deploy/data/mysql`。 2. 配置MySQL: - 修改MySQL配置文件`my.cnf`,通常位于`/etc/mysql/my.cnf`。 - 配置`basedir`和`datadir`以指定MySQL软件安装位置和数据存储位置。 - 设置服务器监听的端口`port=3306`。 - 指定字符集和排序规则,这里是`utf8`字符集和`utf8_general_ci`排序规则。 - 设置默认存储引擎为`INNODB`。 - 限制最大连接数,如`max_connections=1000`。 - 关闭主机缓存和DNS解析,以提高性能,使用`skip-host-cache`和`skip-name-resolve`。 3. 主主复制配置: - 主要涉及到的复制参数有: - `log-bin`:启用二进制日志,记录所有改变数据库的事务,用于复制。 - `binlog_format=row`:采用行级别复制,减少冲突。 - `log-slave-updates`:在从节点上启用二进制日志,使得从节点也能成为其他节点的主节点。 - `server_id`:为每个服务器分配唯一ID,防止冲突。 - `expire_logs_days`:设置二进制日志自动清理的天数。 - `max_binlog_size`:设定单个二进制日志文件的最大大小。 - `binlog-ignore-db`:忽略某些数据库的更改不进行复制,如系统数据库`information_schema`, `mysql`, `performance_schema`, `sys`。 4. 主主复制设置: - 在`master-A`服务器上配置,将`master-B`的IP、用户名、密码和端口添加到复制配置中。 - 在`master-B`服务器上同样配置,将`master-A`的信息添加进去。 5. 启动与验证: - 完成配置后,启动MySQL服务,并使用`SHOW SLAVE STATUS\G`命令检查复制状态,确保从节点正确跟踪主节点。 6. 注意事项: - 由于是主主复制,需谨慎处理写操作,避免数据冲突。 - 保持网络连通性,因为复制依赖于网络传输二进制日志。 - 监控复制延迟,及时发现并解决可能导致数据不一致的问题。 通过以上步骤,可以在两个MySQL服务器之间建立主主复制关系,实现数据的双向同步,提高系统的可用性和数据安全性。