MySQL 5.7 主从配置

xiaoxiao2021-02-28  93

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;

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

转载请注明原文地址: https://www.6miu.com/read-77363.html

最新回复(0)