这篇文章主要介绍“MYSQL, PROXYSQL的基本原理是什么”,在日常操作中,相信很多人在MYSQL, PROXYSQL的基本原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“MYSQL, PROXYSQL的基本原理是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
PorxySQL作为使用MYSQL的一种中间件,为什么是目前比较流行的中间件之,一个人总结有以下几点。
1友好的操作界面,操作PROXYSQL基本上懂得MYSQL的语法即可,虽然是基于SQLLITE这样数据库,但基本上操作中大部分的配置都不涉及重启,仅仅需要将配置上传到内存中即刻生效。
2作为判断MYSQL各种方式的高可用中的主、支持的种类很多,下,尼古拉斯,PXC,基本上市面上的MYSQL通用的高可用方式都支持,并且对于经理的多主也有相关的配置选项。
3配置简单,如果不需要特殊的配置,则仅仅需要三步,PROXYSQL就可以被配置成一个简单的支持MYSQL高可用的访问的通路。
既然PROXYSQL有这么多的好处,并且前两篇也讲述了简单的PROXYSQL尼古拉斯,PROXYSQL INNODB集群两种的配置的方式。今天就需要来看看到底PROXYSQL的一些原理和配置的一些细节,以及最后做一个压力方面的测试,看看PROXYSQL本身可以承受的访问压力。
实际当中我们操作的命令大部分都在内存中,而主要这个数据库就是人机交互的内存的接口。大部分的命令都是在内存中操作以后,上传到内存和写入到磁盘当中的.Disk其实就是PROXYSQL的配置的保存数据的位置,如果丢失或损坏则在PROXYSQL重启后会遇到配置丢失的问题,所以定期的去备份数据库对PROXYSQL是有必要的。
其中有四个重要的表
- <李>
mysql_servers ,PROXYSQL接受MYSQL的数据库服务器的列表
李> <李>mysql_users, PROXYSQL连接MYSQL的用户列表,这些用户必须已经建立在MYSQL中。
李> <李>mysql_query_rules PROXYSQL 对于查询的一些设置的规则
李> <李>global_variables 存储展现当前系统正在应用的系统的变量
李>相对于上面的四个表,下面的命令集合就是在配置完相关的表后,需要将内存操作的数据,下载用disk 和upload 用运行时
MYSQL用户负载运行时,
MYSQL用户保存到磁盘;
MYSQL服务器负载运行时,
MYSQL服务器保存到磁盘;
加载MYSQL查询规则运行时;
MYSQL查询规则保存到磁盘;
加载MYSQL运行时变量;
MYSQL变量保存到磁盘;
,负载管理运行时变量;
管理变量保存到磁盘;
另外一个问题是,什么变量是必须通过重启PROXYSQL才能进行改变的
MYSQL接口,mysql-threads和mysql-stacksize这三个变量是必须通过重启才能生效的。
关于查询缓存实际上MYSQL本身在5。X时是有相关的查询缓存但实际上使用的并不常见,基本上都属于关闭的状态.PROXYSQL也具备查询缓存主要是针对高频的查询中的结果的返回,有人可能要说,其实这个功能也是鸡肋,其实我对这个看法是一半同意
一个功能是否是鸡肋要看他应用的场景和被需要的情况,底下图中的情况在有
我们找到频繁运行语句
插入mysql_query_rules (rule_id,活跃、消化、cache_ttl)值(1 1 & # 39;0 xac80a5ea0101522e& # 39;, 5000 1),
然后我们将这条语句输入到PROXYSQL中