开发者社区> 问答> 正文

python3 通过ssh链接数据库报错10054 ?报错

图片说明
如图,链接数据库是可以的,但是到执行sql报错。
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query ([WinError 10054] 远程主机强迫关闭了一个现有的连接。)')

展开
收起
爱吃鱼的程序员 2020-06-23 21:27:25 1334 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    从print(conn)[45]行到conn.close()[55]行全部右移一个tab即可;

    看看是不是有防火墙等,不允许你连接MySQL的端口等。

    防火墙的可能性比较大

    我本地的navicat是可以链接的

    希望有个帮我远程看看QQ977756434

    你的s(sql)没有在execute里面?

    网上搜到的,希望对你有用:
    http://bbs.fishc.com/thread-89248-1-1.html

    兄弟,看看你的sql语言有没有问题,远程连接是不是有问题

    这是权限原因把,是数据库那边报错的,

    参考:

    https://github.com/PyMySQL/PyMySQL/

    ssh没用过无法帮你解答,你用pymysql试试,如果不行应该事防火墙或权限问题

    python3版本

    importpymysql
    conn=pymysql.connect(host='172.16.16.195',#主机名
    user='root',#用户名
    passwd='winmysql',#密码
    port=3306,#端口号
    charset='utf8',#编码格式
    db='ipproxy')#数据库名
    cursor=conn.cursor()
    data=cursor.execute("select*fromfree_ipproxy")#SQL语句,查询需要到处内容,proxy是列表名
    datas=cursor.fetchmany(data)#取出得到的数据

    datas=cursor.fetchall()#取出cursor得到的数据

    foriindatas:
    print(i)
    cursor.close()
    conn.close()

    2020-06-23 21:27:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载