14.ProxySQL中间件01

     Proxysql是基于mysql的一款开源的中间件的产品,是一个灵活的Mysql代理层,可以实现读写分离,支持Query路由功能,支持动态指定某个sql进行缓存,支持动态加载配置信息(无须重启proxysql服务),支持故障切换和sql的过滤功能。

相关的网站:    https://www.proxysql.com/         https://github.com/sysown/proxysql/wiki

安装:可以直接去github上面下载rpm包安装

启动|关闭 proxysql程序: systemctl start|status|stop proxysql

1.ProxySql的admin管理接口

当proxysq启动后,将监听两个端口:

  1)admin管理接口,默认端口是6032.该端口用于查看、查看proxysql

  2) 接受sql语句的接口,默认端口未6033,这个接口类似于mysql的3306端口

默认的工作结构如下:

2.proxysql登录

  proxysql管理接口默认使用admin管用用户的,只允许本地登录(如下),proxysql的配置几乎都保存在自带的的库中。

复制代码
[root@mysql03 src]# mysql -u admin -padmin -h 127.0.0.1 -P6032 --prompt='Aadmin>'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.30 (ProxySQL Admin Module)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

Aadmin>show databases;
+-----+---------------+-------------------------------------+
| seq | name          | file                                |
+-----+---------------+-------------------------------------+
| 0   | main          |                                     |
| 2   | disk          | /var/lib/proxysql/proxysql.db       |
| 3   | stats         |                                     |
| 4   | monitor       |                                     |
| 5   | stats_history | /var/lib/proxysql/proxysql_stats.db |
+-----+---------------+-------------------------------------+
5 rows in set (0.00 sec)

Aadmin>
复制代码

3.Proxysql中管理结构自带的系统库

  在proxysql,6032端口主要管理以下五个库:main、disk、stats、monitor、stats_history

      1)main: main库中重要的表有如下:

       mysql_servers:后端可以连接mysql服务器的列表

       mysql_users:配置后端数据库的账号和监控账号

     mysql_query_rules:指定query路由到后端不同服务器的规则列表

           注意:表名以runtime_开头的表示Proxysql当前运行的配置内存,不能直接改,不带runtime是可以进行修改的

  2) disk:这个库里面都持久化磁盘的配置

  3) stats:统计信息的汇总

  4) stats_history: Proxysql收集的有关其内部功能的历史指标

4.Proxysql管理接口的多层配置关系

   

       整套系统主要分为三层:

        顶层: runtime    中间层: memory (主要修改的配置表)  持久层: disk和cfg file

    runtime: 代表Proxysql 当前正在使用的配置,无法直接修改此配置,必须要从下一层(mem层)"load"进来,

        memory:memory层上面连接runtime层,下面连接持久层,这层可以在线操作proxysql配置,随便修改,不会影响生产环境,确认正常之后再加载到runtime和持久磁盘上。

    disk和config file:  持久化配置信息。重启时,可以重磁盘快速加载回来。

5.在不同层次间移动配置

   为了将配置持久化到磁盘或者应用到runtime,在管理接口下有一系列管理命令来实现它们。

   1)user 相关

   1.1 MEM加载到runtime  --> load mysql users to runtime;

   1.2 runtime保存至MEM --> save mysql users to memory;

       1.3 disk加载到mem   --> load mysql users from disk;

       1.4 mem到disk  --> save mysql users to disk;

       1.5 cfg 到mem  --> load mysql users form cfg

  2)  server 相关配置

   2.1 MEM加载到runtime  --> load mysql servers to runtime;

   2.2 runtime保存至MEM --> save mysql servers to memory;

       2.3 disk加载到mem   --> load mysql servers from disk;

       2.4 mem到disk  --> save mysql servers to disk;

       2.5 cfg 到mem  --> load mysql servers form cfg

  3) mysql query rules 配置 

   3.1 MEM加载到runtime  --> load mysql query rules to runtime;

   3.2 runtime保存至MEM --> save mysql query rules to memory;

       3.3 disk加载到mem   --> load mysql query rules from disk;

       3.4 mem到disk  --> save mysql query rules to disk;

       3.5 cfg 到mem  --> load mysql query rules form cfg

4) mysql variables配置

   4.1 MEM加载到runtime  --> load mysql variables  to runtime;

   4.2 runtime保存至MEM --> save mysql variables  to memory;

       4.3 disk加载到mem   --> load mysql variables  from disk;

       4.4 mem到disk  --> save mysql variables to disk;

       4.5 cfg 到mem  --> load mysql  variables form cfg

  

总结: 日常配置其实大部分在MEM配置中,然后load到runtime,然后save到disk,cfg很少使用。

例如:load xxx to runtime;  save xxx to disk;

注意: 只有load到runtime状态时才会验证配置,在保存mem到disk时,都不会发生任何警告或错误。当load到runtime时,如果出现错误,将恢复为之前报错的状态,这时可以去检查错误日志。

 

posted on   太白金星有点烦  阅读(78)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
历史上的今天:
2022-04-08 1.MongoDB基本介绍

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示