【MySQL主从复制】快速配置

一、主库配置

1、编辑my.cnf文件开启mysql的二进制

#开启并指定二进制日志前缀
log_bin=mysql-bin
#唯一id
server_id=1
#二进制日志保存时间
expire_logs_days=7
binlog_format=ROW

【MySQL主从复制】快速配置_第1张图片

 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;

【MySQL主从复制】快速配置_第2张图片

 可以看到,此时主库当前日志的最后一个文件为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;

【MySQL主从复制】快速配置_第3张图片

因为没有启动从节点的复制线程,这两个参数都为NO. Slave_IO_Running: No Slave_SQL_Running: No

4.启动主从复制

start slave;

5.再次查看从库状态

mysql> show slave status\G;

【MySQL主从复制】快速配置_第4张图片

6.需要注意的是,并不是所有的库操作都要同步到从库,因此,可以在主库的配置上增加如下配置

# 不同步哪些数据库
binlog-ignore-db = mysql
binlog-ignore-db = sys
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema

# 只同步哪些数据库,除此之外,其他不同步
binlog-do-db = test

【MySQL主从复制】快速配置_第5张图片

 7.经过测试发现当主库插入数据时,从库也自动插入

【MySQL主从复制】快速配置_第6张图片

 【MySQL主从复制】快速配置_第7张图片

你可能感兴趣的:(mysql,数据库,java)