Linux环境下MySQL主从复制配置教程

4星 · 超过85%的资源 需积分: 10 5 下载量 57 浏览量 更新于2024-09-14 收藏 2KB TXT 举报
“Linux环境下MySQL主从复制的配置教程” 在Linux操作系统中,MySQL数据库的主从复制是一项重要的功能,它允许数据在多个服务器之间同步,从而实现数据的备份、负载均衡以及高可用性。以下是对如何配置Linux上的MySQL主从复制的详细说明,包括单向和双向主从配置。 一、主服务器配置 1. 修改`my.cnf`配置文件: 在主服务器上,打开`my.cnf`(通常位于`/etc/my.cnf`),添加以下内容: - `server-id=1`:设置主服务器的唯一ID。 - `log-bin=mysql-bin`:开启二进制日志,记录所有改变数据库的数据操作。 - `binlog-do-db=test`:选择需要进行日志记录的数据库,可以按需选择多个。 - `binlog-ignore-db=mysql`:排除不希望记录的日志数据库,例如系统数据库mysql。 2. 授权复制权限: 登录MySQL,使用以下命令授予从服务器复制权限: ``` mysql> grant replication slave on *.* to 'root'@'slaveIP' identified by 'password'; ``` 3. 刷新权限并重启服务: ``` mysql> flush privileges; [root@mylinux~]# service mysqld restart ``` 4. 获取主服务器状态信息: ``` mysql> show master status; ``` 记录返回的`File`和`Position`,这两个值将在从服务器配置中使用。 二、从服务器配置 1. 修改`my.cnf`配置文件: 在从服务器上,同样编辑`my.cnf`,但设置`server-id`为不同的值(如2),保持其他设置与主服务器一致。 2. 重启MySQL服务: ``` [root@mylinux~]# service mysqld restart ``` 3. 配置从服务器: 停止复制进程: ``` mysql> stop slave; ``` 设置主服务器信息: ``` mysql> change master to master_host='IP', master_user='user', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107; ``` 其中,IP为主服务器的IP地址,user和password是用于连接主服务器的用户名和密码,mysql-bin.000001和107分别为前面获取的`File`和`Position`。 4. 启动复制: ``` mysql> start slave; ``` 5. 验证从服务器状态: ``` mysql> show slave status \G; ``` 如果看到`Slave_IO_Running`和`Slave_SQL_Running`都为`Yes`,则表示从服务器已成功连接到主服务器并开始复制。 三、双向主从复制 双向主从复制即每个服务器既是主服务器也是从服务器,这样两个服务器可以互相交换数据。要实现双向复制,你需要重复上述步骤,但在第二个服务器上也执行同样的授权和配置过程,确保每个服务器都能接收并处理另一个服务器的数据更改。注意,为了避免循环复制,你需要使用`replicate-do-db`或`replicate-ignore-db`来限制每个服务器仅处理特定数据库的更新。 总结,MySQL在Linux下的主从复制涉及配置文件修改、权限授予、服务器重启以及状态验证等多个步骤。正确配置后,可以有效提高数据安全性并实现高可用性。在实际环境中,应根据具体需求和服务器环境调整配置参数。