Python 如何从应用程序连接到ProxySQL

Python 如何从应用程序连接到ProxySQL,python,mysql,mysql-cluster,percona-xtradb-cluster,proxysql,Python,Mysql,Mysql Cluster,Percona Xtradb Cluster,Proxysql,我在3个节点(节点1、节点2、节点3)中运行Percona XtraDB集群。我已经在第四个节点(admin)中配置了ProxySQL 我有一个python应用程序代码试图访问集群 当连接到node1的3306端口时,我能够连接 import MySQLdb as mdb db = mdb.connect(host="node1", port=3306,user="root", passwd="*****", db="percona") 为了实现负载平衡,应用程序应该指向ProxySQL端口6

我在3个节点(节点1、节点2、节点3)中运行Percona XtraDB集群。我已经在第四个节点(admin)中配置了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节点进行负载平衡。
祝你好运

您好,您能告诉我,在使用端口6033连接到proxysql时,我们应该提供什么用户和密码,以及如何创建该用户并拥有所有权限proxysql作为身份验证的中间人工作。数据库用户必须在mysql_users表中的ProxySQL本身上创建。ProxySQL只需要用户名和密码(它可以是纯文本,或者更好的是散列)。应用程序将使用用户和密码连接到ProxySQL进行身份验证。然后ProxySQL将使用相同的用户和密码创建到后端服务器的连接。权限只在MySQL端进行测试。在这个ProxySQL教程()中有更多内容。嗨,Anju,你找到上面问题的答案了吗。