更新:问题已解决,解决方案发布在
之下我是远程数据库连接过程的新手,但似乎没有明显的解决方案可以解决这个错误。
尝试进行以下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)
答案 0 :(得分:0)
虽然主机使用端口2083,但在这种情况下,每个数据库都使用默认端口3306。
当使用3306进行测试时,访问被拒绝,直到我将拒绝的IP添加到cPanel上远程MySQL中的主机“访问”列表。