您的位置 首页 php

「MySQL数据库」MySQL读写分离及主从复制和主主复制

6c3a00041bf039aedc7c

在文章《 MySQL的分表与分区 》中,我们介绍了解决MySQL数据库性能低下的一种途径 —— MySQL分区分表。本文,我们接着介绍解决MySQL数据库性能低下的另一种途径 —— MySQL 读写分离

什么是MySQL读写分离

MySQL读写分离顾名思义就是将MySQL的读操作和写操作分离开来。MySQL读操作主要是查询操作,MySQL写操作主要是添加操作、更新操作和删除操作。

据说,通常一个项目中,大约80%的操作是读操作,20%的操作是写操作。因此,使用读写分离,在一定程度上可以解决MySQL数据库性能低下。

读写分离操作

实现读写分离有很多方法,既可以自己编写程序代码实现,也可以使用一些第三方开发的 中间件 实现,如mysql-proxy。另外,现在很多框架(如, PHP框架 Thinkphp)也实现了读写分离,你只需要配置相关参数,你的项目就可以实现读写分离。如下图所示。

152479787152504b1b4c59b

当然,图中配置生效的前提是你已经部署了多个MySQL服务器。

数据同步

前面说到,读写分离是将MySQL读操作和写操作分开到不同服务器,那不同的服务器之间怎么保证数据一致呢?要保证所有 数据库服务器 的数据一致,那就得使用MySQL数据库的主从复制和主主复制了。

1、主从复制

主从复制即是写服务器(主服务器)和读服务器(从服务器)之间的数据同步。启动MySQL的主从复制,可以按如下操作:

比如,有这样两台主从服务器,主服务器的IP为192.168.0.1,从服务器的IP为192.168.0.2。

1)我们先在IP为192.168.0.1的服务器上创建一个MySQL用户(如用户:mysql1,密码:mysql1)供IP为192.168.0.2的从服务器登录主服务器。如下:

15247994011822f0a0b0318

2)查看IP为192.168.0.1的主服务器二进制文件名与位置。如下:

1524799474648db74eeb1c1

3)告知IP为192.168.0.2的从服务器二进制文件名与位置。如下:

1524804126305bcb77baa92

4)在IP为192.168.0.1的从服务器开启主从复制。如下:

1524799801999ef36a269bd

5)查看主从配置情况。如下:

15247998170204f97b3d434

至此,MySQL数据库主从复制配置完成。

2、主主复制

在实际的工作中,读写分离可能并不是只有一台主服务器,通常的情况是主服务器也有多台。在这个情况下,不仅存在主从复制,而且还存在主主复制。

所谓主主复制就是主服务器和主服务器之间的数据同步。前面我们已经介绍了主从复制的配置,其实主主复制的配置跟主从复制一样,只是概念上的转换而已。主主复制就是将其中的一台服务器当做主服务器,另一台服务器当做从服务器,然后进行主从复制配置。

比如,有另外一台IP为192.168.0.3的主服务器,现在要与IP为192.168.0.1的主服务器进行主主复制,那么在之前的配置操作基础之上,我们只要在IP为192.168.0.3的主服务器上,创建一个MySQL用户(如用户名:mysql1,密码:mysql1)供IP为192.168.0.1的主服务器登录,然后开启彼此的主从复制即可。操作步骤可参考上面的主从复制。

3、关闭主从复制

要想关闭主从复制,只需要在主服务器上执行如下命令即可:

152480061013047fd9ee780

文章来源:智云一二三科技

文章标题:「MySQL数据库」MySQL读写分离及主从复制和主主复制

文章地址:https://www.zhihuclub.com/40687.shtml

关于作者: 智云科技

热门文章

网站地图