千家信息网

怎样用两台服务器实现数据库的主从同步与分离

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家介绍怎样用两台服务器实现数据库的主从同步与分离,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用背景:在网联网不断发展的时代,人们对数据的使用也不断的增加,对于用户
千家信息网最后更新 2026年11月01日怎样用两台服务器实现数据库的主从同步与分离

这篇文章给大家介绍怎样用两台服务器实现数据库的主从同步与分离,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

使用背景:在网联网不断发展的时代,人们对数据的使用也不断的增加,对于用户的请求不断的增加,数据库的读写操作就特别大,就会导致服务器受不了那么多用户的请求和对数据的操作,导致服务器负荷,相应的用户的等待时间就会特别长,给用户的体验特别差,而主从同步就很好的解决的这种并发的问题。

主从同步:简单来说就是使用两台服务器,分别处理用户的读和写的操作,从而实现了读写分离。由于从服务器同步的主服务器上的数据,所以主从同步极大的保证了数据的安全。

基本原理:主从同步,分为两台服务器

如图:Master为主服务器,Slave为从服务器

1. 主服务器(Master)对数据的操作,对事务更新完成之前,mysql将以串行的形式将日志以2进制的形式写入到Binary log日志中(即二进制日志事件),在事务写完以后,Master通知存储引擎,提交事务.

2.提交事务后,Slave服务器,将Master的Binary log日志拷贝到自己的Relay log中(即Slave开启I/O thread 读取Master中的Binary log,然后写入到Slave中的Relay log 中)

3.SOL thread线程将Relay log中的日志读取,重做数据,达到将Master中的数据改变同步到Slave中.

所以:两台服务器,Master提供给用户写(增,删,该)的操作,Slave供公户读(查询)的操作,从而大大的减轻了服务器的负荷,解决了高并发的问题。

那么接下来让我们看看如何使用两台服务器搭建mysql的主从同步吧(ps:今天只介绍如何在服务器上搭建主从同步的实现)。

在开始之前,需要两台服务器,安装好linux系统,并且安装好mysql 5.1以上的版本.(***安装有vim编辑器)。

那么这些环境准备好了,就开始搭建吧!

1.使用SSH连接你的两台服务器(这里我用的两台为Master和Slave的服务器)

2.修改Master和Slave上的mysql的配置文件

a.修改主服务器(Master)的配置文件

输入命令:vim /etc/my.cnf (mysql的默认安装位置)

会出现以下提示:

选择e,进行编辑.

按i键

在mysqld下添加以下配置:

server-id=1    log-bin=master-bin    log-bin-index=master-bin.index

如图(看图上具体细节),wq保存并退出,这里主服务器(Master)的配置就好了。

然后重载mysql配置

输入:service mysqld restart

接下来我们看看是否成功配置

在Master中登录mysql

命令:mysql -uroot -p

输入密码后进入mysql界面,输入show master status,如图:

b.修改从服务器的配置(Slave)

连接Slave服务器,vim打开mysql的配置文件

原理一样,在mysqld添加下配置

server-id=2  relay-log=slave-relay-bin  relay-log-index=slave-relay-bin.index

如图:

保存退出

然后重启mysql,这里介绍另一种重启mysql的方法

输入命令:/etc/init.d/mysql stop 停止

/etc/init.d/mysql start 启动

登录mysql验证配置是否有误

说明,配置没啥问题。

3.开始主从连接

a.在主服务器中添加从服务器连接所用到的用户

在master中创建用户mengxin(ps:这是笔者用的名字)

create user mengxin

再授予mengxin 主从访问权限

grant replication slave on *.* to 'mengxin'@'从服务器的ip' identified by '连接时需要的用户密码(自己设置)';

然后输入:flush privileges

刷新更新权限信息

b.来到从服务器(Slave)进行连接

登录到从服务器的mysql

输入命令:

change master to master_host='主机ip',master_port=3306,master_user='mengxin',master_password='mengxin',master_log_file='master-bin.000001',master_log_pos=0

进行连接,

命令说明:master_host为Master服务器的ip,master_port为Master服务器的端口(默认为3306),master_user为刚刚在Master服务器上设置的user名,master_password为刚刚设置的密码,master_log_file为刚刚上面说到的要用的那个参数(ps:可以在master服务器上输入命令:show master status进行查看)

执行该命令后,表示连接已完成,

开启主从同步:start slave

然后输入:show slave status \G;

查看运行状态:(如图,没有报错,表示主从同步成功配置)

***让我们来验证一下,主从同步的效果:

在Master中创建mengxin_shop数据库

在Slave服务器中,查看数据库,可以看到在master中添加的数据库更新到Slave中了

呼,终于写完了,遇到了各种各样的错误,还是一点点的解决了

这里列举出配置过程中遇到的集中常见的错误吧

1.如果配置中,***一步查看Slave的状态出现如图所示错误

这表明,mysql.user中没有plugin这个字段,这是因为你mysql的版本为5.1,没有这个字段,授权会出现问题

解决办法:将两台服务器的mysql版本保持到5.5以上,尽量相同版本

2.有时会出现Slave连接Master连接不上的错误,请检查服务器上的mysql数据库端口3306是否关闭防火墙。

3.有时会出现slave和master id相同的错误,请确保slave配置中的server-id是否值只存在一个,并且为2

关于怎样用两台服务器实现数据库的主从同步与分离就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

服务器 服务 配置 数据 主从 同步 用户 输入 数据库 命令 如图 日志 错误 事务 版本 问题 不断 密码 文件 更新 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司简介 A股互联网金融科技公司 互联网是不是新科技 金融科技创新监管互联网金融 电子科技大学互联网 深圳互联网科技怎么样 以后互联网后是啥科技 昭通云南众福互联网科技有限公司 科技互联网大厂 昊天互联网科技有限公司 华夏互联网科技业 如何创新互联网科技 陕西云淼互联网科技公司 广州互联网高科技取餐柜 郑州欣桑互联网科技有限公司 广州燕处互联网科技有限公司 西安左小互联网科技有限公司 求路客互联网科技电话 唐山双旺合互联网科技产业园 互联网的科技体现在哪里 苏州找大状互联网科技有限公司 疫情对互联网科技公司影响 广州宏创互联网科技 科技互联网大厂 中科明德北京互联网科技 美国互联网科技实力 互联网科技数字货币 山东大美朱楼互联网科技有限公司 唯美互联网科技 互联网企业和网络科技有限公司
0