准备
master服务器、slave服务器。
master 192.168.77.200
slave1 192.168.77.201
slave2 192.168.77.202
配置master
在master节点的配置文件my.cnf添加
#开启二进制日志,否则无法开启主从复制
log-bin=mysql-bin //将mysql二进制日志取名为mysql-bin
#server-id=1中的1可以任定义,只要是唯一的就行。
server-id=1
innodb_flush_log_at_trx_commit=1
sync_binlog=1
binlog-ignore-db //表示不同步什么数据库
binlog-do-db //表示只同步什么数据库,除此之外,其它不同步(如果这个参数配置了,上面那个参数可以不配置)
重启mysql:
service mysql restart
在master上输入show processlist\G;可以查看master环境信息。
创建一个用于slave和master通信的用户账号
CREATE USER 'user'@'x.x.x.x' IDENTIFIED BY 'password'
GRANT REPLICATION SLAVE ON *.* TO 'user'@'192.168.77.201' IDENTIFIED BY 'password';
flush privileges
配置从数据库
先修改slave1的my.cnf文件
在mysqld中添加
server-id=x
log_slave_updates = 1
重启服务
service mysql restart
添加slave
闭slave(如果你以前配置过主从的话,一定要先关闭)
命令:stop slave;
HANGE MASTER TO
MASTER_HOST='192.168.77.200',
MASTER_USER='user',
MASTER_PASSWORD='password',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000003',
MASTER_LOG_POS=154,
MASTER_CONNECT_RETRY=10;
MASTER_LOG_FILE和MASTER_LOG_POS的值可以在master库中使用show master status查看。
启用slave服务
start slave
查看slave状态
show slave status /G;
如果 Slave_IO_Running: Yes
Slave_SQL_Running: Yes 都是yes表明配置成功。
slave2与slave1同样。
上一篇:mysql安装
下一篇:docker中的主从配置