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

发布时间:2018-04-28作者:laosun阅读(1676)

    什么是MySQL读写分离

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

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

    读写分离操作

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

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

    当然,图中配置生效的前提是你已经部署了多个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的从服务器登录主服务器。如下:

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

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

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

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

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

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

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

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

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

    至此,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、关闭主从复制

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

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


2 +1

版权声明

 数据库  mysql

 请文明留言

0 条评论