mysql8.4主从配置

主库开启log_bin

使用以下命令查看是否开启,mysql8.4默认开启

SHOW VARIABLES LIKE 'log_bin';

主库配置文件更改

my.cnf 配置文件 在[mysqld] 下增加 server_id 配置

server-id=1

一、主库创建备份账号并授权

创建一个同步用的账号

 create user 'backup'@'backuphost' identified by 'backuppassword';

给账号授权

grant replication slave on *.* to 'backup'@'backuphost';

检查账号权限

show grants for 'backup'@'backuphost';

二、主库锁定,查询log_bin 文件及位置并导出数据导入至从库

数据库锁定

使用 FLUSH TABLES WITH READ LOCK 命令

FLUSH TABLES WITH READ LOCK;

该命令主要用于备份工具获取一致性备份(数据与binlog位点匹配)。
它用于锁定所有数据库中的表,以便进行备份或其他维护操作。
这个命令会执行以下操作:
: 关闭所有打开的表。
: 锁定所有数据库中的所有表,以防止任何表的写入操作。
: 允许其他客户端进行读操作,但不允许写入操作。

查看bin_log 文件信息

使用 SHOW BINARY LOG STATUS; 命令
官方解释:This statement provides status information about binary log files on the source server, and requires the REPLICATION CLIENT privilege (or the deprecated SUPER privilege).
链接:15.7.7.1 SHOW BINARY LOG STATUS Statement

mysql> SHOW BINARY LOG STATUS\G
*************************** 1. row ***************************
             File: source-bin.000002
         Position: 1307
     Binlog_Do_DB: test
 Binlog_Ignore_DB: manual, mysql
Executed_Gtid_Set: 3E11FA47-71CA-11E1-9E33-C80AA9429562:1-5
1 row in set (0.00 sec)

\G 是格式化输出

从主库导出数据并导入从库

主库数据导出

mysqldump -h10.XX.XX.XX  -uuser_name -p database_name> yourbase_all.sql

导入数据至从库

mysql -h10.xx.xx.xx -uyouruser -p < yourbase_all.sql

三、从库修改

从库配置文件修改

server-id = 2   //和主库的server-id  不一样就可以
replicate-do-db = 要复制的库名
read_only = 1

从库启动复制

需要修改成自己的信息

CHANGE REPLICATION 
SOURCE TO SOURCE_HOST='主库ip',
SOURCE_USER='主库上复制用户',
SOURCE_PASSWORD='主库上复制用户的密码',
SOURCE_PORT=主库的端口, SOURCE_LOG_FILE='上面查询到的bin_log文件名 File的值', 
SOURCE_LOG_POS=上面查询到的bin_log文件位置 Position的值 是个数字, 
SOURCE_SSL=1;

开启复制:

 start replica;

查看状态:

show replica status \G

不能有错误,如有错误使用以下命令查看错误详情:

select * from performance_schema.replication_applier_status_by_worker \G

修复错误可能需要重新执行 CHANGE REPLICATION 命令。

停止复制:

stop replica;

测试

解锁主库:

 unlock tables;

测试

在主库增加或者删除数据,然后查看从库是否保持一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值