高可用|MySQL5.7主从同步


MySQL5.7主从同步

  • Master配置
  • Slave的配置
  • Master新增Slave用户
  • 设置两个Slave节点的主服务器为Master
  • 开启从节点
  • 测试

环境CentOS7+MySQL5.7
Master_ip:192.168.241.200
Slave_ip:192.168.241.201,192.168.241.202
Master配置 创建binlog日志文件夹并赋予权限
mkdir -p /var/lib/mysql chown mysql:mysql -R/var/lib/mysql

MySQL安装后会在/etc/目录下有一个my.cnf文件添加如下内容
server-id=201 log_bin=/var/lib/mysql/mysql-bin.log expire_logs_days=10 max_binlog_size=200M binlog_ignore_db=mysql

修改完后重启MySQL
service mysql restart

server-id=每台MySQL的必须不同
log_bin=开启binlog日志
expire_logs_days=日志过期时间
max_binlog_size=日志最大容量
binlog_ignore_db=不同步的库
Slave的配置 添加my.cnf内容
vi /etc/my.cnf

server-id=202 expire_logs_days=10 max_binlog_size=200M replicate_ignore_db=mysql

重启MySQL
service mysql restart

Master新增Slave用户 打开Master节点的客户端 ,mysql -u root -p 密码
创建用户
create user 'Slave'@'%' identified by '123456';

赋权给Slave用户所有权限
grant all privileges on *.* to 'Slave'@'%';

【高可用|MySQL5.7主从同步】刷新,使其生效
flush privileges;

设置两个Slave节点的主服务器为Master 登录主机点查看Master节点状态
show master status;

高可用|MySQL5.7主从同步
文章图片

打开两个Slave节点客户端,输入如下命令(注:这里使用的是MySQL5.7,MySQL8需在末尾添加get_master_public_key=1)
根据Master节点状态来设置
master_log_file:binlog的文件名,输入上图中的mysql-bin.000001
master_log_pos:binlog偏移量,输入上图中的154
change master to master_user='Slave',master_password='123456',master_host='192.168.241.200',master_log_file='mysql-bin.000001',master_log_pos=154;

开启从节点
start slave;

查看从节点状态
show slave status\G;

高可用|MySQL5.7主从同步
文章图片

测试 主节点创建user数据库
CREATE DATABASE user;

高可用|MySQL5.7主从同步
文章图片

查看从节点数是否多了user数据库
show databases;

高可用|MySQL5.7主从同步
文章图片

    推荐阅读