CentOS下MySQL主从服务器同步配置教程

需积分: 3 1 下载量 52 浏览量 更新于2024-07-26 收藏 363KB DOCX 举报
本篇文章主要介绍了如何在Linux环境下设置MySQL主从服务器,以便在Web服务器192.168.21.129上通过备份服务器192.168.21.168实现数据库的双机热备。以下是详细步骤: 1. **环境准备**: - Web服务器:运行在CentOS 6.2上,IP地址为192.168.21.129,使用Apache+PHP环境。 - MySQL主服务器:同样基于CentOS 6.2,IP为192.168.21.169,主机名MySQLMaster,安装了mysql-5.5.22版本。 - MySQL从服务器:也运行在CentOS 6.2上,IP为192.168.21.168,主机名为MySQLSlave,同样安装mysql-5.5.22版本。 - 客户机:用户可能使用的是Windows 7,作为管理工具。 2. **安全设置**: - 配置防火墙:确保MySQL主从服务器的3306端口开放,通过编辑`/etc/sysconfig/iptables`并重启防火墙服务,允许远程连接。 3. **SELinux管理**: - 关闭SELinux以减少潜在的安全限制,这有助于MySQL的正常运行。 4. **安装MySQL**: - 在主服务器和从服务器上安装MySQL 5.5.22,如果已安装,确保版本一致或主服务器版本高于从服务器。 5. **主从复制设置**: - 在MySQL从服务器上配置为从主服务器复制数据。这通常涉及以下步骤: - 登录到从服务器的MySQL shell(如`mysql -u root -p`)。 - 创建一个复制用户,例如: ``` CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password'; ``` - 授予复制权限: ``` GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%'; ``` - 设置主服务器的信息,包括主机名、用户名和密码: ``` CHANGE MASTER TO MASTER_HOST = '192.168.21.169', MASTER_USER = 'repl_user', MASTER_PASSWORD = 'password'; ``` - 启动复制: ``` START SLAVE; ``` - 需要在主服务器上启用二进制日志(binlog)以便从服务器能跟踪更改: ``` SET GLOBAL binlog_format = 'ROW'; ``` - 确保主服务器上的binlog日志文件大小足够大,以便从服务器可以跟上数据变化。 6. **监控与维护**: - 定期检查主从复制状态,确保数据一致性,使用如`SHOW SLAVE STATUS\G`命令查看。 - 如果出现错误或延迟,可能需要调整网络配置、磁盘I/O性能等因素。 7. **注意事项**: - 建议在主从服务器上使用相同版本的MySQL,或者确保主服务器版本高于从服务器,以避免版本不兼容问题。 - 在生产环境中,除了手动设置外,还应考虑使用更高级的主从复制管理和监控工具,如Percona XtraBackup或Galera Cluster。 遵循以上步骤后,MySQL主服务器的数据将实时同步到从服务器,实现高可用性和备份功能。当主服务器发生故障时,从服务器可以接管,确保业务的连续性。