将MySQL集群连接到Python

0 投票
1 回答
39 浏览
提问于 2025-04-14 18:02

我在用Python连接MySQL集群的时候,程序没有报错,也没有任何反应,就像在等待一样。

这是我写的Python代码:

import mysql.connector
from mysql.connector import errorcode

try:
  cnx = mysql.connector.connect(user='root',
                                database='database_name',port=1186)
except mysql.connector.Error as err:
  if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
    print("Something is wrong with your user name or password")
  elif err.errno == errorcode.ER_BAD_DB_ERROR:
    print("Database does not exist")
  else:
    print(err)
else:
  cnx.close()

当我运行这段代码时,输出是:

这里插入图片描述

集群的定义是,我在同一个虚拟机上有:

1 management node
1 datanode
1 mysql node
10 api nodes

请帮我解决这个问题。

1 个回答

0

端口应该是连接MySQL服务器(mysqld)的端口,通常默认是3306。

Python的MySQL连接器并不知道有NDB集群的存在,它连接MySQL服务器的方式就像后面没有NDB集群一样。

端口1186是NDB管理节点的默认端口,当数据节点和MySQL服务器节点连接到NDB集群时会使用这个端口。

可以把MySQL NDB集群想象成MySQL加上NDB集群。数据存储在NDB集群中,通常是通过一个或多个MySQL服务器来访问这些数据。

撰写回答