ProxySQL部署

ProxySQL是一个开源、高性能、高可用、数据库协议感知的,动态支持SQL重写的MySQL代理。

ProxySQL的下载和部署

1.ProxySQL支持的操作系统及版本:

  • RedHat & CentOS 7, 8, 9
  • Amazon Linux 2, 2023
  • Debian 10, 11, 12
  • Ubuntu 16, 18, 20, 22
  • Almalinux 8, 9
  • OpenSUSE Leap 15
    也可以通过docker、K8s的方式进行部署。本文的操作系统是CentOS 7.7,通过yum的方式进行部署。

2.目前官方维护的版本

  • ProxySQL Core 2.6.x Series (GA)
  • ProxySQL Core 2.5.x Series (GA)
  • ProxySQL Core 2.4.x Series (GA)
  • ProxySQL Core 2.3.x Series (GA)
  • ProxySQL Core 2.2.x Series (GA)
  • ProxySQL Binlog Reader 2.x Series (GA)

3.ProxySQL 2.5版本的部署

编辑yum仓库:

cat <<EOF | tee /etc/yum.repos.d/proxysql.repo
[proxysql_repo]
name=ProxySQL repository
baseurl=https://repo.proxysql.com/ProxySQL/proxysql-2.5.x/centos/\$releasever
gpgcheck=1
gpgkey=https://repo.proxysql.com/ProxySQL/proxysql-2.5.x/repo_pub_key
EOF

部署ProxySQL:

yum install 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

ProxySQL通过yum的方式部署,还是非常方便的。ProxySQL的配置文件在/etc目录下。

4.启动、停止proxysql

ProxySQL部署好之后,就可以通过默认的基本配置,通过下面的命令进行启动:

#启动proxysql:
systemctl start proxysql
#查看proxysql的进程
ps auxf |grep proxysql
#查看proxysql的状态
systemctl status proxysql
#查看proxysql的版本信息
proxysql --version
#关闭proxysql
systemctl stop proxysql

5.访问ProxySQL的管理接口

proxysql提供了一个通过MySQL协议访问的管理界面,通过SQL命令可以对ProxySQL进行配置和管理,默认的管理端口为6032。

ProxySQL默认的登录用户名、密码都是admin,且默认只能通过127.0.0.1进行登录,不能使用localhost,因为通过mysql客户端登录时,localhost使用的时unix socket而不是tcp连接:
mysql -uadmin -p -P6032 -h 127.0.0.1 --prompt='ProxySQL-Admin> '
	注意:ProxySQL官方提示,如果mysql客户端的版本高于8.0.4那么在命令行中需要添加--default-auth=mysql_native_password(实际发现,我的mysql客户端的版本是8.0.20不需要该参数也可以正常登录)
ProxySQL-Admin> 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 |
+-----+---------------+-------------------------------------+

登录ProxySQL之后,就可以像在MySQL中使用SQL命令来操作ProxySQL。

#停止ProxySQL
ProxySQL-Admin> proxysql stop
#重启ProxySQL
ProxySQL-Admin> proxysql restart

6.ProxySQL的重新初始化

systemctl start proxysql-initial(进程后面会有--initial参数)
ps aux |grep proxysql
proxysql 46697  0.0  0.0  69664  2392 ?        S    11:44   0:00 /usr/bin/proxysql --idle-threads -c /etc/proxysql.cnf --initial
proxysql 46698  1.3  0.0 430368 21448 ?        Sl   11:44   1:32 /usr/bin/proxysql --idle-threads -c /etc/proxysql.cnf --initial

重新初始化完毕之后,记得要重启ProxySQL:
systemctl restart proxysql
ps aux |grep proxysql
proxysql 38570  0.0  0.0  69664  2388 ?        S    13:37   0:00 /usr/bin/proxysql --idle-threads -c /etc/proxysql.cnf
proxysql 38571  4.2  0.0 322824 15152 ?        Sl   13:37   0:00 /usr/bin/proxysql --idle-threads -c /etc/proxysql.cnf

ProxySQL官方建议通过管理界面对ProxySQL进行管理,这样可以实现在线配置而不需要重新重启proxysql。

7.ProxySQL的本地数据库文件、日志的保存位置

目录为:/var/lib/proxysql/

ls /var/lib/proxysql/
proxysql-ca.pem  proxysql-cert.pem  proxysql.db  proxysql-key.pem  proxysql.log  proxysql.pid  proxysql_stats.db
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值