视频:<MySQL ProxySQL 管理实战>
ProxySQL介绍
概述
ProxySQL 是一个开源的高性能、高可用性、对 MySQL 数据库协议敏感的代理软件(database protocol aware proxy for MySQL)。支持的数据库有: Amazon (AWS) Aurora, Amazon RDS, Oracle MySQL, InnoDB Cluster & Group Replication, NDB Cluster, Galera Cluster, MariaDB Server, Percona Server & XtraDB Cluster, ClickHouse.
[如何选择合适的数据库代理] https://ost.51cto.com/posts/12535
特性
应用层代理协议:ProxySQL理解MySQL协议,并具有先进的连接处理能力。
零停机变更:ProxySQL允许在零停机情况下重新配置。
高级查询规则:ProxySQL的丰富查询规则定义允许您高效地路由、分发、缓存和完全控制数据库流量
分片与重写:将数据集分片到多个服务器上,并实时重写以实现转换、数据屏蔽等功能。
故障检测:ProxySQL会监控您的数据库,并根据数据库复制拓扑和后端节点的健康状态检查重新路由流量
ProxySQL 快速部署
环境介绍
Centos 7
下载proxySQL
https://proxysql.com/documentation/installing-proxysql/
安装proxySQL
--安装perl包:
yum install perl*
--安装proxysql
rpm -ivh proxysql-2.4.1-1-centos7.x86_64.rpm
--查看proxysql的安装路径及文件
[root@proxySQL ~]# rpm -ql proxysql
/etc/logrotate.d/proxysql
/etc/proxysql.cnf
/etc/systemd/system/proxysql-initial.service
/etc/systemd/system/proxysql.service
/usr/bin/proxysql
/usr/share/proxysql/tools/proxysql_galera_checker.sh
/usr/share/proxysql/tools/proxysql_galera_writer.pl
[root@proxySQL ~]#
快速上手
--查看proxy的状态
[root@proxySQL ~]# systemctl status proxysql.service
● proxysql.service - High Performance Advanced Proxy for MySQL
Loaded: loaded (/etc/systemd/system/proxysql.service; enabled; vendor preset: disabled)
Active: active (running) since 一 2022-08-08 15:49:46 CST; 11s ago
Process: 1550 ExecStart=/usr/bin/proxysql --idle-threads -c /etc/proxysql.cnf $PROXYSQL_OPTS (code=exited, status=0/SUCCESS)
Main PID: 1552 (proxysql)
--停掉proxy
[root@proxySQL ~]# systemctl stop proxysql.service
--启动proxy
[root@proxySQL ~]# systemctl start proxysql.service
--登录proxy需要mysql客户端
[root@proxySQL ~]# yum install mysql
--查看端口 6032是 ProxySQL 管理端口,6033是对外服务端口
[root@proxySQL ~]# netstat -nltp |grep proxysql
tcp 0 0 0.0.0.0:6032 0.0.0.0:* LISTEN 1100/proxysql
tcp 0 0 0.0.0.0:6033 0.0.0.0:* LISTEN 1100/proxysql
[root@proxySQL ~]#
--登录proxy 用户名和密码默认是 admin
[root@proxySQL ~]# mysql -u admin -padmin -h 127.0.0.1 -P6032 --prompt='proxysql>'