无法与PyMySQL进行远程连接(pymysql.err.InternalError:数据包序列号错误)

时间:2017-09-10 21:43:00

标签: cpanel pymysql

更新:问题已解决,解决方案发布在

之下

我是远程数据库连接过程的新手,但似乎没有明显的解决方案可以解决这个错误。

尝试进行以下pymysql连接时出现

pymysql.err.InternalError: Packet sequence number wrong - got 80 expected 0

我在PyCharm中运行MacOS 10.12.5,Python 2.7.10(也尝试使用终端),以及PyMySQL 0.7.11(也尝试过0.7.9)

更新:也尝试在Windows 10,Python 2.7.13上使用相同的结果

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

其他说明:正如所料,如果端口号或主机IP随机更改,它会立即拒绝连接。否则,在“'数据包序列”之前大约需要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)

1 个答案:

答案 0 :(得分:0)

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

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