将MySQL集群连接到Python
我在用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服务器来访问这些数据。