我有一个带有1个主节点和4个叶子节点的memsql集群。 我的主节点未运行时出现问题,但它已在群集中连接。我可以读取和写入我的集群数据。 在尝试重启主节点时,它显示出一些错误。
2018-03-31 20:54:22: Jb2ae955f6 [ERROR] Failed to connect to MemSQL node BD60BED7C8082966F375CBF983A46A9E39FAA791: ProcessHandshakeResponsePacket() failed. Sending back 1045: Access denied for user 'root'@'xx.xx.xx.xx' (using password: NO)
ProcessHandshakeResponsePacket() failed. Sending back 1045: Access denied for user 'root'@'10.254.34.135' (using password: NO)
群集状态
Index ID Agent Id Process State Cluster State Role Host Port Version
1 BD60BED Afb08cd NOT RUNNING CONNECTED MASTER 10.254.34.135 3306 5.8.10
2 D84101F A10aad5 RUNNING CONNECTED LEAF 10.254.42.244 3306 5.8.10
3 3D2A2AF Aa2ac03 RUNNING CONNECTED LEAF 10.254.38.76 3306 5.8.10
4 D054B1C Ab6c885 RUNNING CONNECTED LEAF 10.254.46.99 3306 5.8.10
5 F8008F7 Afb08cd RUNNING CONNECTED LEAF 10.254.34.135 3307 5.8.10
答案 0 :(得分:2)
该错误意味着当节点在线时,memsql-ops无法登录到节点,很可能是因为root用户的密码在系统中的某处错误配置 - memsql-ops配置为no该节点的密码,但memsql节点可能设置了root密码。
您是否在memsql中设置了root密码?你能通过mysql客户端直接连接到主节点吗?
如果是,您可以通过直接登录memsql主节点并将root密码更改为空白来解决此问题:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by '' WITH GRANT OPTION
然后,在确保恢复连接后,您可以使用命令https://docs.memsql.com/memsql-ops-cli-reference/v6.0/memsql-update-root-password/更新以后的root密码。