簡體   English   中英

嘗試連接到 mysql 服務器時連接被拒絕

[英]Connection refused while trying to connect to mysql server

我正在嘗試使用 peewee 將我的燒瓶項目連接到 mysql 服務器。 當我使用服務器上的信息聲明數據庫時:

app = Flask(__name__)

mydb = MySQLDatabase(os.getenv("MYSQL_DATABASE"),
    user=os.getenv("MYSQL_USER"),
    password=os.getenv("MYSQL_PASSWORD"),
    host=os.getenv("MYSQL_HOST"),
    port=3306
)

print(mydb)

一切正常,我從 vps 終端運行燒瓶項目,我得到 <peewee.MySQLDatabase object at x> 行,這意味着連接成功,或者至少這是我的理解。 但是當我嘗試從 python 文件 (mydb.connect()) 連接以添加一些表時,一切都停止工作,我收到錯誤消息:

peewee.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")

mysql 服務器在我的本地計算機上運行,​​並且項目位於 vps 上,但這應該不是問題,特別是因為我可以在更改 python 文件之前連接到它。

Python

import os
from flask import Flask
from peewee import *

app = Flask(__name__)

mydb = MySQLDatabase(os.getenv("MYSQL_DATABASE"),
    user=os.getenv("MYSQL_USER"),
    password=os.getenv("MYSQL_PASSWORD"),
    host=os.getenv("MYSQL_HOST"),
    port=3306
)

print(mydb)

mydb.connect() #When I add this line everything stops working

為什么只有那一行我的代碼不起作用?

我非常懷疑您是否能夠從某個遠程服務器上運行的燒瓶應用程序連接到筆記本電腦上運行的 mysql。 流量如何路由?

你也錯了:

print(mydb)  # This does not mean you can connect to the database.

mydb.connect() # This is when an actual connection is created.

嘗試在同一台計算機上運行兩者。 如果您絕對必須在您的 VPS 上運行 flask 並在您的工作站上運行 mysql,您將需要以某種方式傳輸流量或使用 vpn。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM