MySQL基于日志点主从同步配置
in 技术Mysql with 0 comment

MySQL基于日志点主从同步配置

in 技术Mysql with 0 comment

准备两台数据库服务器。

一 : 检查修改主数据配置参数

log-bin=mysql-bin
binlog_format=mixed
server-id   = 1

二:检查修改从数据库配置参数

log-bin=mysql-bin
binlog_format=mixed
server-id   = 2
relay_log = mysql-relay-bin
read_only = on  //可选

三: 在主数据库上创建 用于主从复制的用户及 分配权限(ip为从服务器ip)。

create user repl@'192.168.3.%' identified by '123456';
grant replication slave on *.* to repl@'192.168.1.%';

四:数据库初始化 (主数据库数据不多的情况下可以跳过此步骤)

//将主数据库的 相关数据库 手动迁移到从服务器,注意:不同版本的服务器数据库不要备份全部数据表(无需进入MySQL执行)
mysqldump --single-transaction --master-data --triggers --routines --all-databases -uroot -p --events --ignore-table=mysql.events  >> all.sql

scp all.sql root@192.168.1.22:/root //将备份好的数据库文件放到从库上
mysql -uroot -p < all.sql //在从服务器 导入 主服务器刚备份好的数据库

五:配置从服务器MySQL复制链路(进入MySQL)

change master to master_host='192.168.1.21',master_user='repl',master_password='123456',MASTER_LOG_FILE='mysql-bin.000007' ,MASTER_LOG_POS=679;

//MASTER_LOG_FILE 和 MASTER_LOG_POS 的值可以 通过第四步的备份好的all.sql查看,查看命令如下:
more all.sql

//或通过 在MySQL命令中执行:show master status;  查看

六:启动从服务器数据库复制链路

start slave;

七:检查是否配置成功

show slave status \G

//出来的信息里面 下面参数的值都为yes就代表成功了,如果不成功排查一下主数据库的访问权限的ip是否正常,Linux系统的防火墙有没有开放数据库3306端口。 参考文章:https://blog.csdn.net/z13615480737/article/details/79178458
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

Responses