学习
实践
活动
专区
工具
TVP
写文章

mysql主从复制主主复制

为什么要使用mysql主从(主)复制?

1、主服务器/从服务器设置增加了健壮性。主服务器出现问题时,你可以切换到从服务器使用。【高可用和容错性】

2、通过在主服务器和从服务器之间切分处理客户查询的负荷,可以得到更好的客户响应时间。但是不要同时在主从服务器上进行更新,这样可能引起冲突。【要求读写分离】

3、使用复制的另一个好处是可以使用一个从服务器执行备份,而不会干扰主服务器。在备份过程中主服务器可以继续处理更新。

4、使用一主多从时候,可以每个模块使用不同的读节点,减轻单数据库的压力。

配置

1、

2、

配置文件加入:

:为主服务器A的ID值 :二进制变更日值

重启master,运行;

配置slave

Slave的配置与master类似,你同样需要重启slave的MySQL。如下:

,而且唯一。

slave没有必要开启二进制日志,但是在一些情况下,必须设置,例如,如果slave为其它slave的master,必须设置。在这里,我们开启了二进制日志,而且显示的命名(默认名称为,但是,如果改变则会出现问题)。

配置中继日志,表示slave将复制事件写进自己的二进制日志(后面会看到它的用处)。

有些人开启了slave的二进制日志,却没有设置,然后查看slave的数据是否改变,这是一种错误的配置。所以,尽量使用,它防止改变数据(除了特殊的线程)。但是,并不是很实用,特别是那些需要在slave上创建表的应用。

在从库创建用户并清除日志

链接主库(这里的master_log_file 和 master_log_pos 需要与主库中的查看master状态中的保持一致)

启动SLAVE

停止slave

显示SLAVE状态

如果出现的两个yes存在则成功

主主复制

1.两台机器上都建立用户,并赋予复制权限

修改配置文件

MASTER1:

MASTER2:

配置主库

master1上指定master2为主:

mysql> ;

Query OK, 0 rows affected (0.00 sec)

master2上指定master1为主:

mysql> ;

Query OK, 0 rows affected (0.00 sec)

测试主主复制

实验1:启动两个服务,在任一mysql上进行操作,在另一mysql上均能体现出来。

mysql读写分离

读写分离,就是要把Mysql的读和写的操作分开,所有的查询操作都从从库读取,所有有关数据修改都要去操作主库,读操作不允许操作主库,写操作不允许操作从库。

一般情况下,从库只会给一个可读账号,防止对从库进行写操作。

为什么不允许操作从库?

主从复制之后,如果同时对主从库都进行修改,会导致同步出问题。

欢迎订阅

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181223G0Y5QN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券