加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

怎样用两台处事器实现数据库的主从同步与疏散?

发布时间:2018-08-14 04:39:59 所属栏目:教程 来源:萌新
导读:行使配景:在网联网不绝成长的期间,人们对数据的行使也不绝的增进,对付用户的哀求不绝的增进,数据库的读写操纵就出格大,就会导致处事器受不了那么多用户的哀求和对数据的操纵,导致处事器负荷,响应的用户的守候时刻就会出格长,给用户的体验出格差,而

行使配景:在网联网不绝成长的期间,人们对数据的行使也不绝的增进,对付用户的哀求不绝的增进,数据库的读写操纵就出格大,就会导致处事器受不了那么多用户的哀求和对数据的操纵,导致处事器负荷,响应的用户的守候时刻就会出格长,给用户的体验出格差,而主从同步就很好的办理的这种并发的题目。

主从同步:简朴来说就是行使两台处事器,别离处理赏罚用户的读和写的操纵,从而实现了读写疏散。因为从处事器同步的主处事器上的数据,以是主从同步极大的担保了数据的安详。

怎样用两台处事器实现数据库的主从同步与疏散?

根基道理:主从同步,分为两台处事器

如图: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

以上是我碰着的题目,有什么题目也可以向我反应,有什么好的看法,一路交换。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读