快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

Mysql——基于主从复制实现读写分离mysql-proxy)

请联系QQ:1793040 索取软件

什么是读写分离

Mysql作为世界上使用最广泛的免费数据库,相信所有从事系统操作和维护的工程师都必须联系。但是,在实际生产环境中,无论是在安全性,高可用性还是高并发性方面,单个Mysql作为独立数据库都完全不能满足实际需求。 因此,通常,通常使用主从复制(Master-Slave)方法来同步数据,然后使用读写分离(MySQL-Proxy)来提高数据库的并发负载能力。部署和实施。

  • MySQL读写分离是指让主服务器处理写操作,让从服务器处理读操作,这非常适合读操作量相对较大并可以减轻对主服务器的压力的情况。

  • 使用mysql-proxy实现mysql的读写分离。 mysql-proxy实际上充当后端mysql主从服务器的代理。它直接接受客户端请求,分析SQL语句,并确定它是读操作还是写操作。操作,然后分发到相应的mysql服务器。

为什么分开读写?

为了解决大量并发访问,大型网站远远不足以在网站上实现分布式负载平衡。当涉及到数据业务层和数据访问层时,如果它仍然是传统的数据结构,或者仅依靠一台服务器来处理如此多的数据库连接操作,则数据库将不可避免地崩溃,尤其是在数据丢失的情况下。后果更加难以想象。这时,我们将考虑如何减少数据库连接。

  • 减少数据库的连接方式:使用主从数据库实现读写分离,从而分担了主数据库的压力。在多台服务器上部署mysql,将其中一台视为主数据库,将另一台视为从数据库以实现主从同步。主数据库负责主动写操作,而从数据库仅负责主动读操作(从属从数据库仍将被动执行写操作以保持数据一致性),因此可以很大程度上避免数据丢失。该问题还可以减少数据库连接和主数据库的负载。

因为与读操作相比,数据库的写操作相对耗时,所以数据库的读和写分离解决了数据库的写操作,并且不影响查询的效率。

前提:

首先,进行主从复制,此处仅显示结果,具体过程请参考上一篇博客

meng1是主机,meng3是从机。

检入meng3,它显示Slave_IO_Running和Slave_SQL_Running均为YES,表示成功

>

  • 测试:主从复制

    在meng1(主)上创建一个库,输入该库,然后创建一个表

    图片

在meng3上可以看到表结构,主从复制成功

读写分离的配置过程:

第1步:配置代理meng2

meng2制作的代理:

安装mysql-proxy安装软件包并将其放在指定目录中

 

在此处插入图片描述

 

>

您还可以通过更改名称

建立软连接

 

>

创建目录以存储用于读取和写入的单独的配置文件和日志

 

在此处插入图片描述

修改读写分开时的MySQL最大值和最小值

 

在此处插入图片描述

在此处插入图片描述

创建和写入配置文件

 

在此处插入图片描述

图片

设置文件权限,然后启动mysql-proxy(否则它将无法启动)

 

在此处插入图片描述

查看端口和进程以及日志信息:

 

>

在此处插入图片描述

查看日志信息

在此处插入图片描述

在此处插入图片描述

步骤2:在母版中授权登录用户

 

没有图片:~~~~~~~~这部分

第三步:在真实机器上进行测试(请注意,要触发读写分离,至少需要三个连接,即三个外壳用于测试连接到数据库的计算机)

物理机登录数据库:

 

>

在此处插入图片描述

meng1创建库和表:

 

在meng3和实际计算机上,您可以看到:

>

meng1插入数据:

 

>

可以在meng3和真实计算机上看到(此时主从复制未关闭):

在此处插入图片描述

在此处插入图片描述

关闭meng3的主从复制:

 

在此处插入图片描述

meng1插入数据:

 

>

meng3的内容与真实计算机的内容相同,并且看不到插入的user2的信息

 

在此处插入图片描述

>

请注意,在meng3上读取的数据写在meng1上

注意:此实验测试不是很严格,您应该在物理机中插入数据,然后在关闭主从复制后查看数据。此时,您正在查看只读从数据库上的数据库数据,而写入的数据在master数据库上。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040