环境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;
打开两个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;
测试
主节点创建user数据库
CREATE DATABASE user;
查看从节点数是否多了user数据库
show databases;