CentOS 7.2 MySQL 5.7 主从配置
MySQL的安装:CentOS 7.2 yum方式安装MySQL 5.7
两台服务器分别如下:
Master:192.168.1.100
Slave:192.168.1.101
Master配置:
编辑/etc/my.cnf文件:
log-bin = mysql-bin #slave会基于此log-bin来做replication server-id = 100 #master的标示,唯一ID,一般采用IP最后一段 innodb_flush_log_at_trx_commit = 1 #默认为1,事务提交,日志缓冲刷盘 sync_binlog = 1 #当每进行n次事务提交之后刷盘,安全但性能低
Slave配置:
编辑/etc/my.cnf文件:
server-id = 101
重启MySQL服务:
systemctl restart mysqld.service
在Master服务器上创建备份账号:
GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.%.%' IDENTIFIED BY '密码';
在Master库中查看master状态:
show master status;
查看结果:
配置从库:
stop slave; change master to master_user='backup',master_password='密码',master_host='192.168.1.100',master_port=3306,master_log_file='mysql-bin.000003',master_log_pos=154; start slave;
参数说明:
master_user:Master服务器上创建的备份账号名称
master_password:备份账号密码
master_host:Master服务器IP
master_log_file:查询Master服务器状态得到的File列的值
master_log_pos:查询Master服务器状态得到的Position列的值
在Slave库查询复制状态:
show slave status\G;
如果Slave_IO及Slave_SQL的状态为Yes表明同步成功。
最后,如果Master重启后Slave也必须重启,否则会出现同步失败。