实验机器:
192.168.188.30
192.168.188.31
一.主主模式搭建,两台机器的版本需一致
其他配置可参考MySQL8安装那篇文章 配置参数除server-id不同外,只需添加以下两个参数即可
binlog_format=ROW
log_bin=/data/mysql/data/mysql-bin-30.log (可选)
二、在188.30 数据库 设置同步账号与密码,此密码可不同
mysql>create user 'repl_user'@'192.168.188.%' identified by 'test@2023';
mysql>grant replication slave on *.* to 'repl_user'@'192.168.188.%';
mysql>flush privileges;
show master status; #去31上查看二进制日志信息
根据查到的信息,再继续执行
File :当前正在记录的二进制日志文件
Position :记录偏移量,日志 mysql-bin.000008 所记录到的位置。
Binlog_Do_DB :要记录日志的数据库
Binlog_Ignore_DB :不记录日志的数据库
Executed_Gtid_Set :已执行的事务ID
CHANGE MASTER TO
MASTER_HOST='192.168.188.31',
MASTER_USER='repl_user',
MASTER_PORT = 3306,
MASTER_PASSWORD='test@2023',
MASTER_LOG_FILE='mysql-bin-31.000002',
MASTER_LOG_POS=157;
说明:
MASTER_HOST 主节点ip
MASTER_USER 用户名
MASTER_PORT 端口
MASTER_PASSWORD 密码
MASTER_LOG_FILE 31服务正在记录的二进制日志文件(实时获取)
MASTER_LOG_POS 31服务记录二进制日志的偏移量(实时获取)
start slave; #启动主从复制
show slave status\G; #查看从库状态
三、在188.31 数据库 设置同步账号与密码
mysql>create user 'repl_user'@'192.168.188.%' identified by 'test@2023';
mysql>grant replication slave on *.* to 'repl_user'@'192.168.188.%';
mysql>flush privileges;
show master status; 去30上查看二进制日志信息
根据查到的信息,再继续执行
CHANGE MASTER TO
MASTER_HOST='192.168.188.30',
MASTER_USER='repl_user',
MASTER_PORT = 3306,
MASTER_PASSWORD='test@2023',
MASTER_LOG_FILE='mysql-bin-30.000001',
MASTER_LOG_POS=891;
说明:
MASTER_HOST 主节点ip
MASTER_USER 用户名
MASTER_PORT 端口
MASTER_PASSWORD 密码
MASTER_LOG_FILE 30服务正在记录的二进制日志文件(实时获取)
MASTER_LOG_POS 30服务记录二进制日志的偏移量(实时获取)
start slave; #启动主从复制
show slave status\G; #查看从库状态
四、分别重启两台数据库服务
查看同步的信息并进行相关测试。
创建用户,数据库,表,数据看是否能正常互相同步
show slave status \G;
参考链接: