Cannot make remote connection with PyMySQL (pymysql.err.InternalError: Packet sequence number wrong)

Cannot make remote connection with PyMySQL (pymysql.err.InternalError: Packet sequence number wrong)

更新:问题已解决,解决方案贴在下方

我不熟悉建立远程数据库连接的过程,但似乎没有针对此错误的明显解决方案。

pymysql.err.InternalError: Packet sequence number wrong - got 80 expected 0 在尝试建立以下 pymysql 连接时出现

我是 运行 MacOS 10.12.5,Python 2.7.10 in PyCharm(也试过终端)和 PyMySQL 0.7.11(也试过 0.7.9 )

更新: 也试过 Windows 10, Python 2.7.13 结果相同

数据库托管在 cPanel 上。在我可以连接之前,可能还有其他设置需要更改。连接用户具有全部权限。我的 IP 已添加到主机 "access" 列表中。

其他注意事项:正如所料,如果端口号或主机IP被随机更改,它会立即拒绝连接。否则,在出现 'packet sequence' 错误之前需要大约 30 秒。

import pymysql.cursors
import pymysql

connection = pymysql.connect(host = hostIPaddress,
                             port = 2083,
                             user = username,
                             passwd = password,
                             db = dbName,
                             charset = 'utf8mb4', # also tried 'utf8'
                             cursorclass=pymysql.cursors.DictCursor)

虽然主机使用2083端口,但在这种情况下每个数据库都使用默认端口3306。

当使用 3306 进行测试时,访问被拒绝,直到我将被拒绝的 IP 添加到 cPanel 上远程 MySQL 中的主机 "access" 列表。