MySQL主从配置教程:从零到实战

3 下载量 145 浏览量 更新于2024-09-08 收藏 27KB DOCX 举报
"MySQL主从服务器配置教程" MySQL主从配置是数据库高可用性和负载均衡的重要组成部分,它允许数据从一个服务器(主服务器)实时同步到另一个服务器(从服务器),从而实现数据备份、读写分离和故障切换等功能。以下是详细步骤: 1. **创建日志文件** 在主从服务器上都需要创建一个用于记录事务的日志文件,通常是二进制日志(binlog)。创建目录`/home/logs/mysql`,并在该目录下创建日志文件`mysql-bin.log`,确保文件权限属于`mysql`用户和用户组。 2. **配置my.cnf** 修改MySQL配置文件`/usr/local/mysql/etc/my.cnf`,添加或修改以下内容: - 对于主服务器,开启二进制日志,例如:`log-bin=mysql-bin` - 对于从服务器,需要配置`server-id`,确保每个服务器有唯一的ID,如`server-id=1`(主服务器)和`server-id=2`(从服务器) 3. **重启MySQL服务** 在主从服务器上重启MySQL服务,以使配置生效。命令为`service mysql restart`。 4. **检查主服务器状态** 登录MySQL,查看主服务器的二进制日志状态,这将用于从服务器的复制配置: ``` mysql> show master status; ``` 记录`File`和`Position`的值,这些将在从服务器的配置中使用。 5. **建立权限账户(仅在主服务器)** 创建一个用于复制的用户并授权: ``` mysql> GRANT REPLICATION SLAVE ON *.* TO 'cango'@'%' IDENTIFIED BY 'cango1qaz'; mysql> FLUSH PRIVILEGES; ``` 这里创建了一个名为`cango`的用户,可以从任何主机连接,并且具有复制奴隶的权限。 6. **配置从服务器** 在从服务器上,停止当前的复制进程(如果有的话),然后配置新的主服务器信息: ``` mysql> STOP SLAVE; mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.19', MASTER_USER='cango', MASTER_PASSWORD='cango1qaz', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154; mysql> START SLAVE; ``` 这里的参数对应于主服务器的状态信息以及之前创建的复制用户。 7. **检查从服务器状态** 验证从服务器的复制状态是否正常: ``` mysql> SHOW SLAVE STATUS \G; ``` 确保`Slave_IO_Running`和`Slave_SQL_Running`都显示为`Yes`,表明从服务器正在正常复制。 8. **故障检测与处理** 如果发现`Slave_IO_Running`或`Slave_SQL_Running`为`No`,应检查错误日志找出问题原因,可能是网络问题、权限问题或者主服务器上的日志文件问题。 完成以上步骤后,MySQL的主从复制就配置好了。在实际环境中,可能还需要考虑网络安全性、性能优化、监控等其他方面。记住,主从复制只是高可用性解决方案的一部分,完整的架构通常会包含多个从服务器、故障切换机制和监控系统等。