python - 我在 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)
解决方案
这里可能会发生很多事情:超时错误、数据包大小等。还要检查您的防火墙设置。 https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html
推荐阅读
- reactjs - 使用 React Hook Form 和 Material UI Select 组件
- email - Outlook 电子邮件中的收件人列表(收件人和抄送)
- haskell - 在 Haskell 中将字符串拆分为类型
- javascript - 什么'使用严格';不使用这个函数和变量吗?
- r - 如何查找一列中的单词在另一列中出现的次数
- javascript - 在移动设备上无延迟地为移动导航和背景颜色设置动画
- api - 通过 Flutter http.dart 包链接到 Fidel API
- python - Django-tenants 仅在公共模式中创建用户
- github - 如何在 GitHub 上查看 folium 保存的 html?
- python-3.x - 共享主机上的 Django 应用程序依赖项(Cpanel)