1.准备机器两台
ip(你自己知道就行)环境如下
- master
192.168.72.130
- slave
192.168.72.131
2.配置master
我选择的mysql版本是8.0.27,自动开启了binlog,如果是低版本mysql,自行开启
检查是否开启
show variables like '%log_bin%'
#################配置my.cnf#################
log-bin=mysql-bin
binlog_format=mixed
server-id=1
read-only=0
binlog-do-db=gimline //可选,数据库名称
auto-increment-increment=2 //这里设置用来台服务器来做备份,按个人情况定
auto-increment-offset=1 //表示这台服务器序号,从1开始,不超auto-increment-increment重启mysql服务
docker restart mysql
查看master状态
show master status;
记录如下对应得值
mysql-bin.000001 156 gimline
3.配置slave
#################配置my.cnf#################
log-bin=mysql-bin
binlog_format=mixed
server-id=2 //服务器唯一性标识符,每台服务器配置必须保存不一样
replicate-do-db=gimline //要同步的数据库名
relay-log=mysql.relay.bin
log-slave-updates=ON重启mysql
docker restart mysql在slave上执行sql
CHANGE MASTER TO
MASTER_HOST='192.168.72.130',
MASTER_USER='nsc-dev',
MASTER_PASSWORD='nsc_dev@intranet',
MASTER_LOG_FILE='mysql-bin.000001', //A中show master status中的值
MASTER_LOG_POS=156; //A中show master status中的值重启mysql
docker restart mysql查看slave是否配置成功,查看
show slave status;
以下两项为yes方可
如果需要重新绑定master
那么
stop slave;然后再去slave上执行sql即可
重启mysql,查看slave状态