环境:
linux:centos7.6
mysql5.6
文章按照标题的过程配置。
一主一从
服务器ip地址:
两台机器
192.168.247.130(master)
192.168.247.140(slave)
- 在master上操作:
编辑mysql配置文件:
在[mysqld]下面添加:
server-id=130
log_bin=mysql_master
重启mysqld
给master加入slave用户的权限:
grant replication slave on *.* to 'repl'@'127.0.0.1' identified by '123457';
查看master状态:
show master status \G;
*************************** 1. row ***************************
File: mysql_master.000001
Position: 468
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
暂停数据库写入数据:
flush table with read lock;
操作完毕,注意两边数据从事先一样,如果master机器上mysql已经有了很多数据,一定要做备份恢复到slave机器上去,再做下面操作。
接下来在从上操作:
编辑配置文件,在mysqld下添加
server-id=140
mysql操作:
停止slave线程:
stop slave;
设置连接master:
change master to master_host='192.168.247.130',master_user='repl',master_password='123457',master_port=3306,master_log_file='mysql_master.000001',master_log_pos=468; #与前面master status 一致
开启slave:
start slave;
查看状态:
show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
一主多从
192.168.247.130(master)
192.168.247.140(slave)
192.168.247.150(slave)
操作步骤与配置slave一样,就当简单总结以下:
配置slave2:
编辑配置文件:
添加:
server-id=150
保存退出,重启mysql。
进入mysql:
先停止slave线程,上面重启以后,slave已经生效。:
stop slave;
增加master信息:
change master to master_host='192.168.247.130',master_user='repl',master_password='123457',master_log_file='mysql_master.000001',master_log_pos=468;
start slave;
如果是虚拟机克隆的机器,会显示有相同的uuid。
所以需要修改mysql的uuid: