mysql主从同步
前言
为了保障断网后业务正常运转,部署一台mysql从服务器在本地。最近几天不是很忙,在客户的测试服务器上搭建测试,记录。
1.mysql初始化
-
保证大版本号统一
-
初始化,保证同步库或表数据一致
-
测试版本5.7.18
2.主服务配置
- 修改/etc/mysql/my.cnf,添加
[mysqld]
server-id=1
#启用二进制日志
log-bin=mysql-bin
#复制的数据库名,如果复制多个数据库,使用逗号分割
binlog-do-db=db201911
sync_binlog=1
- 创建用户,并授权slave
grant replication slave on *.* to '用户名'@'主机' identified by '密码';
- 获取File和Position,这两个字段在从服务器配置使用
show master status;
3.从服务器配置
- 修改/etc/mysql/my.cnf,添加
[mysqld]
server-id=2
#启用二进制日志
log-bin=mysql-bin
#复制的数据库名,如果复制多个数据库,使用逗号分割
#replicate-do-db=db201911
#复制的数据表,如果复制多个数据表,使用逗号分割
replicate-do-table=db201911.table1
- 停止正在进行的slave
stop slave;
- 重置slave
reset slave;
- 配置从服务器slave
CHANGE MASTER TO MASTER_HOST='数据库地址',MASTER_PORT=数据库端口,MASTER_USER='数据库用户名',MASTER_PASSWORD='数据库密码',MASTER_LOG_FILE='主服务器获取的File',MASTER_LOG_POS=主服务器获取的Position;
- 启动slave
start slave;
- 查看状态
show slave status;
如果状态为yes表示开启成功。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes