1.规划:
序号 | 主/从 | ip | 端口 | root用户密码 | server-id |
---|---|---|---|---|---|
1 | master | 192.168.163.130 | 3306 | 123456 | 130 |
2 | slave | 192.168.163.131 | 3306 | 123456 | 131 |
2.搭建步骤
首先,保持mysql版本一致,不一致的情况我没有测试过。
2.1 master配置
修改my.cnf,在【mysqld】添加:
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=130 //[必须]服务器唯一ID,默认是1,一般取IP最后一段。
改完后,重启mysql服务。
2.2 slave配置
修改my.cnf,如下:
[mysqld]
log-bin=mysql-bin //[不是必须]启用二进制日志
server-id=131 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
改完后,重启mysql。
2.3 在master上创建账户并授权slave:
首先命令行登录master服务器,然后执行如下授权命令:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.163.%' IDENTIFIED BY 'mysql'
命令解释:
repl: 用于主从复制的用户名
mysql: 主从复制的密码
192.168.0.%:主从复制的ip地址,%代表0~255
2.4查看master的状态:
mysql> show master status;(这里的值,要用于配置从服务器)
2.5 配置slave:
同样,先命令行登录slave服务器,
mysql>change master to master_host='192.168.163.130',
master_port=3306,
master_user='repl',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=448;
这里的参数要和实际对上,最后两个参数来自2.4中的截图,也就是说通过查看master状态获取到的。
mysql>start slave; //启动从服务器复制功能
2.6 检查主从复制的状态:
mysql> show slave status \G;
红框中如果是连个YES,代表主从复制成功。