MySQL 5.6主从复制配置教程

4星 · 超过85%的资源 需积分: 35 7 下载量 57 浏览量 更新于2024-09-09 收藏 19KB DOCX 举报
"MySQL主从复制部署实施文档" MySQL主从复制是一种常见的数据库高可用性和负载均衡解决方案,通过在一台服务器(主服务器)上记录所有的更改并将其同步到其他服务器(从服务器),确保数据的一致性并实现读写分离。本文档主要针对MySQL 5.6.26版本,详细介绍了如何在两台服务器之间设置主从复制。 环境描述包括两台服务器:主服务器(mysql-master)和从服务器(mysql-slave)。主服务器的IP为192.168.18.111,从服务器的IP为192.168.18.141,两台服务器都已经安装了MySQL,但没有用户数据。 配置主服务器(master)的步骤如下: 1. **开启二进制日志**:在`my.cnf`配置文件的`[mysqld]`部分添加`log-bin=mysql-bin`,使MySQL记录所有改变到二进制日志中。这将用于从服务器同步数据。 2. **设置server-id**:添加`server-id=1`,此ID必须在主从服务器间保持唯一,以区分不同服务器。 3. **优化事务提交**:为了保证数据一致性,可以设置`innodb_flush_log_at_trx_commit=1`,确保每次事务提交时都会刷新日志到磁盘。`sync_binlog=1`则表示每提交一个事务就同步一次二进制日志,提高安全性但可能会影响性能。 4. **选择要复制的数据库**:可选地,可以使用`binlog-do-db`和`binlog-ignore-db`来指定要复制或忽略的数据库。例如,`binlog-do-db=wordpress`表示只备份wordpress数据库,`binlog-ignore-db=mysql`则表示忽略mysql数据库的日志。如果不指定,将默认复制所有数据库。 5. **重启MySQL服务**:执行`#service mysqld restart`以应用配置更改。 6. **创建复制用户**:在MySQL中创建一个名为`backup`的用户,授予其在从服务器上的`REPLICATION SLAVE`权限。例如,`grant replication slave on *.* to 'backup'@'192.168.18.141' identified by 'backup';`,这样从服务器就可以连接并读取主服务器的二进制日志。 7. **获取主服务器状态**:运行`show master status;`命令,记录`File`(二进制日志文件名)和`Position`(二进制日志位置),这两个信息将在从服务器配置中使用。 在从服务器(slave)上配置主从复制: 1. **配置从服务器**:同样编辑`my.cnf`,添加`server-id=2`,确保ID与主服务器不同。 2. **启动复制**:使用`CHANGE MASTER TO`语句指定主服务器的连接信息,包括主机名、端口、用户名、密码,以及从主服务器状态查询得到的`File`和`Position`。例如: ``` CHANGE MASTER TO MASTER_HOST='192.168.18.111', MASTER_USER='backup', MASTER_PASSWORD='backup', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=<Position>; ``` 3. **启动复制线程**:执行`START SLAVE;`启动从服务器的复制线程,开始同步数据。 4. **监控复制状态**:使用`SHOW SLAVE STATUS\G;`检查复制状态,确认是否成功并同步。 以上步骤完成后,主从复制环境即部署完毕。在实际应用中,需要注意监控复制延迟、错误处理和故障恢复等问题,以确保系统的稳定运行。