美文网首页
ProxySQL手册_09Admin Schemas

ProxySQL手册_09Admin Schemas

作者: 这货不是王马勺 | 来源:发表于2021-10-25 10:54 被阅读0次

转载来自 骏马金龙 https://www.junmajinlong.com

ProxySQL的admin管理接口是一个使用MySQL协议的接口,这使得客户端可以非常方便地通过发送一些命令去修改ProxySQL的配置。ProxySQL会解析通过该接口发送的某些对ProxySQL有效的特定命令,并将其合理转换后发送给内嵌的SQLite3数据库引擎去运行。

请注意,SQLite3和MySQL使用的SQL语法有所不同,因此能在MySQL上正常运行的命令不一定能在SQLite3上运行。例如,尽管admin管理接口接收USE命令,但不会切换默认的schema,因为SQLite3不支持USE功能。

当连接到ProxySQL的admin管理接口时,我们可以看到已经有一些数据库存在。ProxySQL会将SHOW DATABASES命令转换为SQLite3上等价的命令。

mysql> show databases;
+-----+---------+------------------+
| seq | name    | file             |
+-----+---------+------------------+
| 0   | main    |                  |
| 2   | disk    | /tmp/proxysql.db |
| 3   | stats   |                  |
| 4   | monitor |                  |
| 5   | myhgm   |                  |
+-----+---------+------------------+
5 rows in set (0.00 sec)

这些schema的作用如下:

  • main:内存数据库。通过该数据库,可以方便地以自动化方式去查询、更新ProxySQL的配置。使用LOAD MYSQL USERS FROM MEMORY以及那些类似的命令,可以将内存数据库中对应的配置加载到runtime数据结构中,从而使配置生效。
  • disk:磁盘上的数据库,是内存数据库main的镜像库。重启ProxySQL时,main中的配置会丢失,所以会从磁盘数据库或配置文件中加载配置,至于是从磁盘数据库加载配置还是从配置文件中加载配置,取决于是否是第一次启动(或者"--initial"指定为初始化)以及磁盘数据库是否已存在。如果已存在,或者非第一次启动,则会从磁盘数据库中加载配置,否则从配置文件中读取配置对ProxySQL进行初始化。详细内容参见https://github.com/malongshuai/proxysql/wiki/Configuring-ProxySQL
  • stats:ProxySQL内部功能收集的一些runtime指标。例如,每个查询规则被匹配了多少次,当前正在执行的查询,等等。
  • monitor:包含ProxySQL所连接的后端相关监控指标。例如,连接到后端或ping后端所花的最长、最短时间。
  • myhgm:只在debug版本才有的库。

此外,能访问admin管理接口的用户有两类,它们的默认凭据为:

  • user:password=admin:admin -- 对库中的所有表都有读、写权限。
  • user:password=stats:stats -- 只对统计数据表有只读权限。这些用户是用来从ProxySQL获取一些指标的,不会暴露太多的数据库给它们。

上述两类凭据分别通过变量admin-admin_credentialsadmin-stats_credentials进行配置。

相关文章

网友评论

      本文标题:ProxySQL手册_09Admin Schemas

      本文链接:https://www.haomeiwen.com/subject/qtxqaltx.html