1、环境说明:
操作系统:centos7.5
MySQL版本:mysql5.6
使用三台虚拟机:
- 192.168.1.111 master
- 192.168.1.112 slave
- 192.168.1.113 slave
2、安装mysql
参考上篇文章:centos7手动安装mysql5.6
3、主数据库配置
第1步:编辑/etc/my.cnf文件,在[mysqld]下增加如下两行设置:
[mysqld]
log-bin=mysql-bin # 非必需
server-id=1 # 必需
第2步:创建用于数据同步的账户
CREATE USER 'master'@'192.168.1.%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'master'@'192.168.1.%';
FLUSH PRIVILEGES;
第3步:查看master状态
第4步:查看master状态
4、从数据库配置(以192.168.1.112为例)
第1步:编辑/etc/my.cnf文件,设置server-id
注意一点:slave的server-id要跟master的server-id做区分
[mysqld]
server-id=2
第2步:执行同步语句,并启动slave
change master to master_host='192.168.1.111', master_user='master', master_password='123456', master_log_file='mysql-bin.000001', master_log_pos=120;
start slave
注意一点:master_log_file和master_log_pos要与上面主库show master status里面展示的内容保持一致
第3步:查看slave状态
show slave status\G;
第4步:验证是否同步成功
主库和两个从库都建立test数据库,student表
主库插入一条数据,查看两个从库,发现从库也相应新增一条数据。
注意一点:主库和从库都建好表之后,检查从库的binlog_pos是否跟master一致
第5步:从库设置只读账户
create user 'read'@'%' identified by '123456';
grant select on test.* to 'read'@'%';
flush privileges;