MySQL主从复制操作
操作环境
OS:CentOS7.6
Mysql:Mysql5.7
主库:IP=10.20.1.18
从库:IP=10.20.1.19
主从形式:一主一从
实现MySQL主从复制需要进行的配置:
主服务器:
开启二进制日志
配置唯一的server-id
获得master二进制日志文件名及位置
创建一个用于slave和master通信的用户账号
从服务器:
配置唯一的server-id
使用master分配的用户账号读取master二进制日志
启用slave服务
具体操作:
主服务器操作
1)、修改主数据库服务器配置文件my.cnf,修改如下信息:
server_id = 1 #唯一标识,主库从库不能重复
log_bin = mysql-bin #开启日志
binlog_format=MIXED #日志记录的格式
max_binlog_size = 512M #单个日志文件最大
expire_logs_day = 7 #日志有效期(天)
binlog_do_db = test1,test2 #日志记录那些数据库
binlog_ignore_db = mysql,performance_schema,information_schema #日志记录忽略那些数据库
MySQL服务重启:
systemctl restart mysqld.service
2)、创建用于同步账户
mysql> CREATE USER 'user'@'10.20.1.18' IDENTIFIED BY 'passwd'; #创建用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'rsync_user'@'10.20.1.1%' identified by 'passwd'; #分配权限
mysql>flush privileges;
3)、查看master状态
show master status命令记录二进制文件名(mysql-bin.000009)和position位置(1354)。
其中“Binlog_Do_DB ”字段显示记录日志要同步的库,“Binlog_Ignore_DB”字段显示忽略记录日志,无需同步的库。
4)、查看master的logbin开启状态
show variables like 'log_bin';
从服务器操作
1)、修改从数据库服务器配置文件my.cnf
server-id=2 #唯一标识,与主库不一样
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin #打开slave的relaylog功能的
MySQL服务重启:
systemctl restart mysqld.service
2)、设置同步信息
先停止同步
mysql>stop slave;
设置同步信息
CHANGE MASTER TO
MASTER_HOST='10.20.1.18',
MASTER_USER='rsync_user',
MASTER_PASSWORD='passwd',
MASTER_LOG_FILE='mysql-bin.000009',
MASTER_LOG_POS=754;
其中master_log_file 和 master_log_pos为上面主库show master status命令记录的信息。
3)、启动slave 同步进程
mysql>start slave;
4)、slave状态查看
show slave status\G 命令查看,主要查看这几项:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Master_Log_File: mysql-bin.000009
Relay_Master_Log_File: mysql-bin.000009
Read_Master_Log_Pos: 1654
Exec_master_log_pos: 1654
只有【Slave_IO_Running】和【Slave_SQL_Running】都是Yes,则同步正常。
No或者Connecting都不行,可查看mysql-error.log,以排查问题。
show variables like 'log_error%';
5)、同步测试
验证操作,如在master的新建一test数据库,新建一张表中插入一条数据,在slave的test库的相同数据表中查看是否有新增的数据,即可验证主从复制功能是否有效,还可以关闭slave(mysql>stop slave;),然后再修改master,看slave是否也相应修改(停止slave后,master的修改不会同步到slave),就可完成MySQL主从复制功能的验证了。
主库插入数据:
从库查看:
验证主从数据同步成功。
转载:https://blog.csdn.net/weixin_29382667/article/details/113333158