MySQL 5.7 主从配置

来源:互联网 发布:java随机数生成器 编辑:程序博客网 时间:2024/05/29 15:17

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-binsync_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;

然后重新连接主库,进行同步。

原创粉丝点击