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