首页 > 解决方案 > 我在 pythoneverywhere.com 上创建了一个数据库,我想在本地使用它,在 Visual Studio 代码项目中

问题描述

我无法从本地项目连接到我的 pythoneverywhere.com 数据库。

错误是:mysql.connector.errors.InterfaceError: 2013: Lost connection to MySQL server during query

先感谢您!

from flask import Flask, request, url_for, redirect
from flask_restful import Resource, Api
import pymysql as MySQLdb
from flaskext.mysql import MySQL
import mysql.connector
import sshtunnel 

app = Flask(__name__)
api = Api(app)


sshtunnel.SSH_TIMEOUT = 5.0
sshtunnel.TUNNEL_TIMEOUT = 5.0

with sshtunnel.SSHTunnelForwarder(
    ('ssh.pythonanywhere.com'),
    ssh_username='XXX', ssh_password='XXX',
    remote_bind_address=('bianca.mysql.pythonanywhere-services.com', 3306)
) as tunnel:
    connection = mysql.connector.connect(
        user='XXX', password='XXX',
        host='127.0.0.1', port=tunnel.local_bind_port,
        database='bianca$moviesdb',
    )
    connection.close()
# print('after SSH connection')



conn = MySQLdb.connect("bianca.mysql.pythonanywhere-services.com", "XXX", "XXX", "bianca$moviesdb")

c = conn.cursor()

c.execute("SELECT * FROM reviews")

rows = c.fetchall()

for eachRow in rows:
    print(eachRow)



if __name__ == '__main__':
     app.run(port=5002)

标签: pythonmysql

解决方案


这里可能会发生很多事情:超时错误、数据包大小等。还要检查您的防火墙设置。 https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html


推荐阅读