如何从应用程序连接到 ProxySQL

How to connect to ProxySQL from application

我在 3 个节点(node1、node2、node3)中有 Percona XtraDB Cluster 运行。我在第 4 个节点(管理员)中配置了 ProxySQL。

我有一个 python 应用程序代码试图访问集群。

在连接到node1的3306端口时,我可以连接。

import MySQLdb as mdb
db = mdb.connect(host="node1", port=3306,user="root", passwd="*****", db="percona")

为了实现负载均衡,应用应该指向ProxySQL的6032端口。

import MySQLdb as mdb
db = mdb.connect(host="admin", port=6032,user="admin", passwd="*****", db="percona")

尝试连接时,出现以下错误:

OperationalError: (1045, "ProxySQL Error: Access denied for user 'admin'@'' (using password: YES)")

我在proxysql中使用了grant privilages命令

grant all privileges on percona.* to 'admin'@'%' identified by password 'bullet';

不幸的是,我收到以下错误,

ERROR 1045 (#2800): near "grant": syntax error

如有错误请指正

我应该使用其他一些配置来连接到 Percona XtraDB 集群吗?

端口 6032 用于管理 CLI。 相反,您可能希望连接到端口 6033,它会侦听所有流量并对后端 PXC 节点进行负载平衡。 祝你好运!