linux 实现两台 MySQL 服务器的主从复制
创始人
2025-01-19 16:03:41
0次

准备工作:准备好两台服务器,并且已经安装好mysql,两台服务器之间互通

MySQL主从复制介绍

在 MySQL 集群环境中,可以分为主节点与从节点,通过主从复制可以实现数据备份、故障转移(其中一台宕机了可以访问另一台)、MySQL集群、高可用、读写分离等。

MySQL的主从复制原理:主从复制是 MySQL本身自带的一个功能,不需要额外的第三方软件就可以实现,其复制功能并不是copy文件来实现的,而是借助 binlog 日志文件里面的SQL命令实现的主从复制,可以理解为在 Master(主数据库) 端执行了一条SQL命令,那么在 Salve (从数据库)端同样会执行一遍,从而达到主从复制的效果。从库生成两个线程,一个I/O线程,一个SQL线程;  I/O线程去请求主库的 binlog,并将得到的 binlog 日志写到 relay log(中继日志) 文件中; 主库会生成一个 log dump 线程,用来给从库I/O线程传 binlog; 从数据库的 SQL 线程,会读取 relay log文件中的日志,并解析成具体操作,来实现主从的操作一致,而最终数据一致。

主库操作:

           打开作为master(主机)的MySQL配置文件:vi /etc/my.cnf 修改、添加如下配置,前两项为必填项。默认配置的 server-id=1 ,我们修改成200,同时开启日志文件。还有个重要的说明是要同步的数据库名。这里需要根据实际情修改,不填写的话同步的是整个库。

log-bin = mysql-bin

server-id = 200

binlog-do-db = jz_ubp

server-id :主服务器唯一ID
log-bin:启用二进制日志
binlog-ignore-db:设置不要复制的数据库
binlog-do-db:设置需要复制的数据库
binlog-format:设置logbin格式

配置完需要重启数据库(我使用的是docker部署的,可以根据个人的部署方式进行操作)

docker restart mysql

查看,结果为200

show variables like '%server_id%';

查询结果能看到 binlog 文件,即为正确,binlog 的版本是一直在叠加的。3338956是它的行数。

show master status;

建立主从账号

 GRANT REPLICATION SLAVE ON *.* TO admin@'%' identified by 'admin123';    flush privileges; # 刷新权限

从库操作:

打开作为slave(从机)的MySQL配置文件vi /etc/my.cnf 修改、添加如下配置,前两项为必填项

默认配置的 server-id=1 ,修改服务ID为201,以及日志文件同步方式等。

# 从服务器的服务器ID  server_id=201  # 日志文件同步方式  log-bin=mysql-bin  修改后重启数据库  docker restart mysql

验证从服务器

show variables like '%server_id%';

 查看

show master status;

然后,我们需要将【从服务器】同步【主服务器】的配置:在【从服务器】的查询上执行下面的句子(这里的 master_log_file 和 pos 需要根据你的实际情况配置   主库show master status查询的结果):

change master to master_host='192.168.10.104',

master_port=3306,

master_user='admin' ,

master_password='admin123',

Master_log_file=' mysql-bin.000038',

Master_log_pos= 3338956;

然后开始同步

start slave;

-- 检查从服务器复制功能状态,必须2个都是yes才行

show slave status\G;

   至此已经实现了主从同步,但前提是主库在此时新建的库、表会同步到从库。如果主库运行一段时间了,才做的从库,在做主从同步之前,是需要自己手动把主库的数据迁移到从库里的,在两个库基本数据一致情况下,再启动主从同步才能正常使用。

相关内容

热门资讯

玩家必看教程!透视挂!新久情a... 玩家必看教程!透视挂!新久情ai智能透视挂神器app,新久情外卦神器软件妙招(有辅助挂解惑);新久情...
攻略讲解开挂!千众部落ai智能... 您好,千众部落这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在这款游戏...
玩家必备科技!辅助挂!牛欢喜a... 玩家必备科技!辅助挂!牛欢喜ai智能辅助挂插件app,牛欢喜确实真的有挂手筋(有辅助挂方式)是一款可...
教你攻略辅助器!星远互娱3ai... 教你攻略辅助器!星远互娱3ai智能辅助器软件app,星远互娱3破解软件要领(有辅助挂解惑);星远互娱...
一起来探讨开挂!闲玩娱乐葫芦鱼... 一起来探讨开挂!闲玩娱乐葫芦鱼ai智能开挂助手app,闲玩娱乐葫芦鱼到底有挂吗指南(有辅助挂助手);...
切实教程透视挂!新河马互娱ai... 您好:新河马互娱这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
新版2025教程辅助挂!新漫游... 新版2025教程辅助挂!新漫游ai智能辅助挂平台app,新漫游有挂么辅助窍要(有辅助挂详细);1、新...
分享一款辅助!火爆欢盈娱乐ai... 分享一款辅助!火爆欢盈娱乐ai智能辅助软件app,火爆欢盈娱乐到底有挂吗法门(有辅助挂助手);亲,有...
让我来分享经验透视挂!红桃互娱... 让我来分享经验透视挂!红桃互娱ai智能透视挂脚本app,红桃互娱透视辅助课程(有辅助挂规律);红桃互...
玩家必备科普辅助!超稳互娱ai... 玩家必备科普辅助!超稳互娱ai智能辅助脚本app,超稳互娱透视挂软件法子(有辅助挂工具);1、点击下...