主从
一主多从
主补
环状单向
======================================================
mysql主从配置
Slave
// 设置slave
[mysqld]
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
// 连接master
change master to master_host='192.168.0.104', //Master 服务器Ip
master_port=3306,
master_user='repl',
master_password='mysql',
master_log_file='master-bin.000001',//Master服务器产生的日志
master_log_pos=0; // 和master的pos对应
master
// 创建复制bin_log用户
create user gcl identified by 'gcl';
// 为用户添加权限
grant replication slave on *.* to 'gcl'@'%';
server-id=1 //给数据库服务的唯一标识,一般为大家设置服务器Ip的末尾号
log-bin=master-bin
log-bin-index=master-bin.index
// 重启
级联复制:A->B->C
A:主库,B:A的从库,C:B的从库
// 主库的配置是不变的
从库需要开启bin-log
添加:
log-bin=master-bin
log-bin-index=master-bin.index
添加:(重要)
log-slave-updates = 1 // 开启 log-slave-updates
log-slave-updates作用
如果slave开启了binlog,直接对从库的操作可以写入到binlog,但是从master获取的binlog则不能写入到此slave的binlog,造成下一个slave的数据丢失。开启log-slave-updates则是把master获取的binlog也写入到此slave的binlog,以便于让下一个slave获取到。