Percona 家的 ProxySQL 配置笔记
来源:互联网 发布:淘宝小鸡孵化机 编辑:程序博客网 时间:2024/06/05 02:26
最近发现了 percona 自家网站的个推荐的 ProxySQL howto 在github.com有开源,并且还在持续更新。感觉commit者就是 percona自家的员工或领他家工资资助的人才。
大概记录 对ProxySQL的了解。
- C++写的,性能应该不是问题。 github地址
- 运行时分admin进程与proxy进程, 一般 6032 端口是 admin 进程。6033是proxy。
- admin的目标是热配置生效,不必重启proxy。能直接使用mysql客户端简单的sql操作生效。
- 整体配置可以从proxysql.cnf读,admin配置可以从proxysql-admin.cnf 热load进来。
- 配置为runtime\memory\disk\config-file的多层管理概念,详看官方wiki有介绍
- 配置以mysql的内存表方式存于内存,能通过 SAVE、LOAD 指令保存配置与加载配置。
举个例子(坑):
第一次启动时,读取默认配置文件 /etc/proxysql.cnf 其中第一项是 datadir=”/var/lib/proxysql”
这时如何改了admin相关的变量,如:set admin-mysql_ifaces==”192.168.1.110:6032”;
这时要执行 SAVE ADMIN VARIABLES TO DISK; 指令,配置save到datadir目录的文件了。
以后启动都不会再读取proxysql.cnf的配置。这点要注意。
PS: 不要学我例子改 admin-mysql_ifaces, admin帐号只允许用127.0.0.1 IP连接。
如果真的改了,只能删除datadir目录,重启proxysql了。
说说几个关键有配置项(或叫表)
- mysql_servers – 后端真实的mysql实例
- mysql_users – 连接proxySQL的用户,以及连接后端mysql的用户;注意两者相同。
- mysql_query_rules — 查询规则,支持链式的多条规则。详细看query rules wiki
- global_variables — 如表名,不解释。wiki
三层配置生效关系指令:
save / local 指令 组合如下:
[SAVE | LOAD ]
[MYSQL USER | MYSQL SERVER | ADMIN VARIABLES | MYSQL VARIABLES | MYSQL QUERY RULES]
[ TO | FROM ]
[ MEMORY | RUNTIME | DISK | CONFIG];
总之,就是配置可以save或load。 方向上可以TO或FROM,目标与来源有4项。
想要配置生效(active),必需load进RUNTIME中。
- LOAD MYSQL USERS TO RUNTIME;
- LOAD MYSQL SERVERS TO RUNTIME;
- LOAD MYSQL QUERY RULES TO RUNTIME;
- LOAD MYSQL VARIABLES TO RUNTIME;
- LOAD ADMIN VARIABLES TO RUNTIME;
要持久化,必需SAVE进DISK:
- SAVE MYSQL USERS TO DISK;
- SAVE MYSQL SERVERS TO DISK;
- SAVE MYSQL QUERY RULES TO DISK;
- SAVE MYSQL VARIABLES TO DISK;
- SAVE ADMIN VARIABLES TO DISK;
配置 后端的 mysql,至少到配置2个表, 与授权一个moniter用户 的数据。
- mysql_servers
- mysql_users
- mysql_replication_hostgroups 最好连这个表也配置一下。
- grant select ON . TO ‘monitor ‘@’$proxysql_ip’ identified by ‘monitor’;
1与2项,直接使用insert sql 插入即可。插入后还要Load TO RUNTIME 才生效。
只有monitor正确了, 才能正常代理mysql协议到后端。
查看是否有monitor连接出错: SELECT * FROM monitor.mysql_server_connect_log ORDER BY time_start_us DESC LIMIT 10;
- Percona 家的 ProxySQL 配置笔记
- proxysql的配置系统
- 解决ProxySQL的单点问题
- percona-data-recovery-tool工具的配置
- percona server的安装启动配置
- MYSQL数据库proxysql配置,实现读写分离
- ProxySQL--灵活强大的MySQL代理层
- percona yum 源配置
- Percona-XtraBackup安装配置
- percona-toolkit工具包的使用教程之配置类工具
- Percona Arbitrator的使用
- percona pmm监控邮件配置
- percona-xtradb-cluster 部署笔记
- 使用 ProxySQL 提高 MySQL SSL 的连接性能
- 使用 ProxySQL 提高 MySQL SSL 的连接性能
- percona
- InnoDB的替代品:Percona XtraDB
- percona-toolkit工具的安装
- CityMaker平台下用C#实现不同场景切换的实现方法
- spring boot的发布方式
- (二)springboot整合thymeleaf模板
- Ubuntu下解决Qt5.7.0 cannot find -lGL(亲测解决)
- C/c++课堂笔记-指针赋值
- Percona 家的 ProxySQL 配置笔记
- Java练手小程序——QQ聊天
- SDK Location&failed to find build tools revision xxx
- #我的电路实践
- 从零到向Github提交代码
- SharePoint Online 创建图片库
- Spring Cloud构建微服务架构服务注册与发现
- RxJava 1.x使用简略
- 学习问题:使用MATLAB工具箱进行双目标定,提示索引超出矩阵范围。