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'@'%';

刷新,使其生效

flush privileges;

设置两个Slave节点的主服务器为Master

登录主机点查看Master节点状态

show master status;

MySQL5.7主从同步_第1张图片
打开两个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主从同步_第2张图片

测试

主节点创建user数据库

CREATE DATABASE user;

在这里插入图片描述

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

show databases;

MySQL5.7主从同步_第3张图片

你可能感兴趣的:(高可用,mysql,centos,linux,经验分享,运维)