CentOS7 MariaDB主从复制配置实战指南

6 下载量 176 浏览量 更新于2024-08-29 1 收藏 78KB PDF 举报
"本文将详细介绍在CentOS 7环境下配置MariaDB主从复制的步骤,适用于系统版本7.2.1511,以及内置的MariaDB版本。文中涉及的环境包括一个主库服务器(10.69.5.200)和一个从库服务器(10.69.5.201),两者均运行在CentOS 7上,并预装了MariaDB 10。" 在MySQL/MariaDB数据库系统中,主从复制是一种常见的高可用性和负载均衡策略。它允许数据从一个主服务器(Master)实时同步到一个或多个从服务器(Slave)。当主服务器发生故障时,从服务器可以接管服务,确保业务连续性。此外,主从复制还可以用于分散读取操作,提高系统的整体性能。 以下是配置CentOS 7上的MariaDB主从复制的详细步骤: 1. **配置主服务器**: - 打开配置文件:使用`vim /etc/my.cnf`编辑`my.cnf`。 - 添加主从复制相关参数: - `log-bin=/var/lib/mysql/master-bin`:启用二进制日志,指定日志文件位置。 - `binlog_format=mixed`:选择混合模式,兼顾ROW和STATEMENT两种格式的优点。 - `server-id=200`:设置服务器ID,必须在所有参与复制的服务器中保持唯一,通常用IP地址的最后一位来设定。 2. **创建复制用户和权限**: - 登录MySQL:`mysql -u root -p`。 - 创建复制用户,例如:`CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password';`,允许此用户从任何主机连接。 - 授予复制权限:`GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';`。 3. **获取主服务器的二进制日志文件名和位置**: - 在MySQL客户端执行:`SHOW MASTER STATUS;`,记下File和Position值,这将在从库配置中用到。 4. **配置从库服务器**: - 同样修改`/etc/my.cnf`,添加`server-id`,但设置为不同的值,例如`server-id=201`。 - 重启MySQL服务:`systemctl restart mariadb`。 5. **在从库上设置复制**: - 连接到从库的MySQL客户端,使用之前获取的File和Position信息,输入: ``` CHANGE MASTER TO MASTER_HOST='10.69.5.200', MASTER_USER='replication', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=123456; ``` - 开始复制:`START SLAVE;` - 检查复制状态:`SHOW SLAVE STATUS \G;`,确认`Slave_IO_Running`和`Slave_SQL_Running`均为`Yes`。 6. **监控与维护**: - 定期检查复制状态,确保主从数据的一致性。 - 如遇到错误,根据日志(如`/var/log/mariadb/mariadb.log`)进行排查和解决。 通过以上步骤,你可以在CentOS 7的MariaDB环境中成功搭建主从复制架构。请注意,实际操作时,应根据你的具体环境调整配置,如用户名称、密码、IP地址等。同时,安全实践建议限制复制用户的权限,并定期审计和更新这些设置,以保证系统的安全性。