MySQL 5.7主从同步(复制)配置

主从同步mysql数据库,在虚拟机上完成主从配置,系统是CentOS7.4,mysql版本是5.7.21

主服务器的ip:192.168.1.136 

从服务器的ip:192.168.1.144

1. 首先在主库(192.168.1.136)上执行:

mysql -u root -p

代表建立一个slave用户,密码为123456,并且,这个主库能允许从库(192.168.1.144)的ip以slave用户来登陆

2. 配置主库:

在/etc/my.cnf文件下增加 
server-id=1 
log_bin=mysql-bin

#binlog_format=mixed
binlog_format=row

binlog-ignore-db=mysql    #不同步的数据库

expire_logs_days=30     #自动清理30天前的log文件,可根据需要修改

server-id在数据库配置中必须是唯一的,重启主库的mysql

service mysqld restart


3. 在主库执行sql:
show master status;

在从库进行连接主库执行如下sql: 

这里的master_log_file 和msater_log_pos的值都来自于刚刚主库的这条sql:show master status

4. 启动主从复制

stop slave;

在从库执行:start slave; 

5. 检查环境是否成功

从库执行 show slave status\G

Slave_IO_Running: Yes和Slave_SQL_Running: Yes都为yes代表成功了。

 flush privileges;

6. 测试主从复制是否好使:

在主库执行sql 

create database test;

use test;

create table test1(id int);

在从库里查看:

7. MySQL数据库的主从配置就完成,实际应用中可能会用到单个表的同步,或者部分表的同步,只需要在主库的/etc/my.cnf里加上

replicate-do-table=tablename        #只复制某个表
replicate-wild-do-table=tablename%  #只复制某些表(可用匹配符)
replicate-do-db=dbname                #只复制某个库
replicte-wild-do-db=dbname%       #只复制某些库
replicate-ignore-table=tablename  #不复制某个表

猜你喜欢

转载自my.oschina.net/michaelshu/blog/1787037