您的位置:首页 > 数据库 > MySQL

MySQL 5.7 主从配置

2017-07-11 17:57 253 查看
MySQL进行主从配置可以降低服务器压力,提高服务器的可用性。设置步骤如下:

环境:

服务器1:Centos Linux 7.3 ip: 172.16.0.102

服务器2:Centos Linux 7.3 ip: 172.16.0.104

MySQL:mysql5.7.18

1,配置主服务器

修改/etc下的修改my.cnf文件,在[mysqld]下面增加下面几行,然后重启MySQL数据库。

#server-id给数据库服务的唯一标识
server-id=1

#log-bin设置此参数表示启用binlog功能,并指定路径名称
log-bin=/var/lib/mysql/mysql-bin
sync_binlog=0
#设置日志的过期天数
expire_logs_days=7
#binlog_cache_size此参数表示binlog使用的内存大小
binlog_cache_size=1M


在Master MySQL上创建一个用户‘repl’,并允许其他Slave服务器可以通过远程访问Master,通过该用户读取二进制日志,实现数据同步。

mysql> create user 'repl'@'172.16.%' identified by 'L*****@2*8#3&7';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'172.16.%';


重启mysql使配置生效

mysql> show master status;




2,配置从服务器

修改/etc下的修改my.cnf文件,在[mysqld]下面增加下面几行,然后重启MySQL数据库。

#server-id给数据库服务的唯一标识
server-id=2
#read_only设置数据库为只读,防止从库数据修改后,主从数据不一致,但是有Super权限的账号还是有写的权限,所以要某个账号只读的话,可以去掉账号的Super权限
read_only=1

#指定需要同步的表
replicate-wild-do-table=ljzxdb.%
#binlog_cache_size此参数表示binlog使用的内存大小
binlog_cache_size=1M


重启mysql使配置生效

然后连接主库

mysql> CHANGE MASTER TO MASTER_HOST='172.16.0.102', MASTER_USER='repl', MASTER_PASSWORD='LENGjing@2*8#3&7', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=15051;


启动同步

mysql> start slave;


查看从库状态

mysql> show slave status \G;




观察这两个值是否都是yes,Slave_IO_Running: Yes 和Slave_SQL_Running: Yes,如果都是yes,说明运行正常。

如果出现同步失败,可以根据提示处理错误,处理完成后,需要刷新同步配置:

先停止同步

mysql> stop slave;


清理掉之前的配置,防止同步已经同步了的数据

mysql> reset slave all;


然后重新连接主库,进行同步。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: