Msyql主从部署
Host | IP | OS | Version | Role |
m1 | 172.0.0.1 | centos7.4 | 5.7.23 | Master |
m2 | 172.0.0.2 | centos7.4 | 5.7.23 | Slave |
m3 | 172.0.0.3 | win2008 | 5.7.23 | Slave |
数据库的安装略,同步数据库为testbin
Master操作
停止数据库的服务
systemctl stop mysqld
修改主机m1的my.cnf文件配置
[mysqld]
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
expire_logs_days = 90
binlog-do-db = testbin
binlog-ignore-db = mysql
server-id = 1
重启数据库服务
systemctl restart mysqld
创建从库同步数据的账号
grant replication slave on *.* to 'slave'@'%' identified by 'password';
flush privileges;
查询主库状态
show master status;
字段解释
File: 同步文件(等一下设置从库配置时会用到)
Position: 同步启始位置(等一下设置从库配置时会用到)
Binlog_Do_DB: 同步数据库
Binlog_Ignore_DB: 不允许同步数据库
Slave操作
停止数据库的服务
systemctl stop mysqld
修改主机m2的my.cnf文件配置
[mysqld]
# 开启mysql binlog功能
log-bin = mysql-bin
# binlog记录内容的方式,记录被操作的每一行
binlog_format = ROW
# 减少记录日志的内容,只记录受影响的列
binlog_row_image = minimal
expire_logs_days = 90
server-id = 2
重启数据库服务
systemctl restart mysqld
设置Master服务器ip,Slave同步账号密码,Master同步日志(File)及开始位置(Position)
change master to master_host='172.0.0.1',master_user='slave',master_password='password',master_log_file='mysql-bin.000002',master_log_pos=154;
flush privileges;
start slave;
查询从库m2状态
show slave status\G;
这两个指标:Slave_IO_Running,Slave_SQL_Running 为 “Yes”表示同步成功
win的后面再补