1、目标
将在主库的数据变更同步到从库,从而保证主库和从库的数据一致。
2、原理
2.1 主库会把数据变更记录在二进制日志文件Binlog中
2.2 从库连接主库,读取binlog日志,并写入自身中继日志relaylog
2.3 slave重做中继日志,将改变反映它自己的数据
3、搭建规划
3.1 准备服务器,分别装上mysql8.4【参考mysql8.4单机部署方案】
192.168.73.200、192.168.73.201
3.2 配置主库
3.3 配置从库
3.4 测试主从复制
4、开放两台服务器的指定端口号
firewall-cmd --zone=public --add-port=3306/tcp -permanent
firewall-cmd -reload
或者关闭服务器的防火墙
systemctl stop firewalld
systemctl disable firewalld
5、安装好mysql后,查看服务的状态
systemctl status mysqld
6、主库配置
vi /etc/my.cnf
#mysql服务ID,保证集群环境中唯一,取值范围1-65525,默认为1
server-id=1
#是否只读 1代表只读 0代表读写
read-only=0
#忽略的数据,指不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#指定同步的数据库
#binlog-do-db=dbtest
7、 重启mysql服务器
systemctl restart mysqld
8、主库配置
登录mysql,创建远程链接的账号,授权主从复制权限:
CREATE USER 'maker'@'%' IDENTIFIED WITH mysql_native_password BY 'XXXXXX';
GRANT REPLICATION SLAVE ON *.* TO 'maker'@'%';
9、通过指令查看二进制坐标
show master status;
注意:执行以上语句会报错
解决方法:
mysql8.4 show master status 确保已经启用了二进制日志(binary log)。但是在MySQL 8.4中,SHOW MASTERY STATUS 已经被废弃,应该使用 SHOW BINARY LOGS 来确认二进制日志已经启用和查看状态。执行:
SHOW VARIABLES LIKE 'log_bin';
如果返回的值是 ON 或 1,则说明二进制日志已经启用。
还可以使用以下命令查看二进制日志的详细信息:SHOW BINARY LOGS;
这将列出所有的二进制日志文件及其大小。如果需要确定当前正在写入的二进制日志文件,
可以使用:SHOW BINARY LOG STATUS;
10、从库配置
vi /etc/my.cnf
#mysql服务ID,保证集群环境中唯一,取值范围1-65525,默认为1
server-id=2
#是否只读 1代表只读 0代表读写
read-only=1
#忽略的数据,指不需要同步的数据库
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-ignore-db=performance_schema
#指定同步的数据库
#binlog-do-db=dbtest
11、重启启动从库的服务
systemctl restart mysqld
12、登录从库mysql,进行配置
为了保持数据一致性,建议在主服务器在执行一遍SHOW BINARY LOG STATUS 并记录 File 和Position的值。
CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.73.200', SOURCE_USER='maker', SOURCE_PASSWORD='1XXXX', SOURCE_PORT=3306, SOURCE_LOG_FILE='binlog.000003', SOURCE_LOG_POS=830;
13、从库配置:开启同步操作
#8.0.22后
start replica;
#8.0.22前
start slave;
14、查看是否成功
SHOW REPLICA STATUS\G
正常情况下,
Replica_IO_Running: Yes
Replica_SQL_Running: Yes
以上显示YES,主从配置部署完成!
标签:Centos7,binlog,db,mysql8.4,SOURCE,主备,mysql,日志,从库 From: https://blog.csdn.net/zsb706496992/article/details/143597763