一、主库配置
1、编辑my.cnf文件开启mysql的二进制
#开启并指定二进制日志前缀
log_bin=mysql-bin
#唯一id
server_id=1
#二进制日志保存时间
expire_logs_days=7
binlog_format=ROW
2、主库创建一个用于复制的用户
mysql> create user 'repl'@'%' identified by '123456';
3、将replication slave,replication client 授权到repl用户
mysql> grant replication slave,replication client on *.* to 'repl'@'%';
4、刷新权限
mysql> flush privileges;
5、查看主库status
mysql> show master status;
** 可以看到,此时主库当前日志的最后一个文件为000001,且position为522**
二、从库配置
1、编辑my.cnf文件开启mysql的二进制
#开启并指定二进制日志前缀
log_bin=mysql-bin
#唯一id
server_id=2
#二进制日志保存时间
expire_logs_days=7
binlog_format=ROW
2.对从库进行配置
mysql> change master to master_host='192.168.239.140',master_user='repl',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=522;
需要注意的是,master_log_file 与master_log_pos 均要指向主库对应的日志文件的最后一个文件。 此处的指向为前面第一部分中查看的日志的值master_log_file=‘mysql-bin.000001’,master_log_pos=522
3.查看从库状态
mysql> show slave status\G;
因为没有启动从节点的复制线程,这两个参数都为NO. Slave_IO_Running: No Slave_SQL_Running: No
4.启动主从复制
start slave;
5.再次查看从库状态
mysql> show slave status\G;
6.需要注意的是,并不是所有的库操作都要同步到从库,因此,可以在主库的配置上增加如下配置
# 不同步哪些数据库
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
# 只同步哪些数据库,除此之外,其他不同步
binlog-do-db = test
7.经过测试发现当主库插入数据时,从库也自动插入
版权归原作者 没有BUG就是最大的BUG 所有, 如有侵权,请联系我们删除。