在使用Flask连接MYSQL workbench新建的数据库出现"Can't connect to MySQL server on '127.0.0.1' ([WinError 10061] 由于目标计算机积极拒绝,无法连接。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 链接mysql
HOSTNAME = "127.0.0.1"
PORT = "3360"
USERNAME = "root"
PASSWORD = "******"
DATABASE = "database_test"
app.config[
"SQLALCHEMY_DATABASE_URI"] = f"mysql+pymysql://{USERNAME}:{PASSWORD}@{HOSTNAME}:{PORT}/{DATABASE}?charset=utf8mb4"
db = SQLAlchemy(app)
# 测试连接是否成功
with app.app_context():
with db.engine.connect() as conn:
rs = conn.execute("select 1")
print(rs.fetchone())
@app.route("/")
def hello_word():
return "Hello World"
if __name__ == "__main__":
app.run(debug=True, host="0.0.0.0", port=6666)
在遇到这个问题时,通过网上的方法逐步排除了一下的错误:
①检查数据库的密码和用户名与代码中的是否一致
②检查mysql服务器是否打开
③关闭防火墙
通过ping的方式也是可以成功的。
以上的错误都逐一检查并排除后仍然存在上述问题,请教该问题的解决方式,感谢!
经ChatGPT监测,代码不存在任何问题,你可以尝试使用下面的步骤来解决这个问题:
1.检查MySQL服务器是否正在运行,检查MySQL服务器的IP地址和端口号是否正确;
2.检查MySQL服务器的连接配置,确保MySQL服务器可以接受远程连接;
3.检查MySQL服务器的用户名和密码是否正确;
4.检查你的代码中的用户名和密码是否正确;
5.检查你的代码中的IP地址和端口号是否正确;
6.检查你的防火墙设置,确保MySQL服务器可以接受远程连接;
7.尝试重启MySQL服务器;
8.尝试使用其他的MySQL客户端程序(如MySQL Workbench)来连接MySQL服务器,以确保服务器可以正常工作。
很可能是MySQL Workbench的端口设置不正确,可以检查一下MySQL Workbench的端口号和Flask代码中的端口号是否一致,如果不一致,可以修改一下MySQL Workbench的端口号。
以上回答来自ChatGPT
试一试能不能通过mysql -u root -p 看能不能用命令行的方式进行连接,或者通过navicat的方式连接到数据库。或者把charset=utf8mb4去掉
这种情况下,可以考虑以下几点:
确认端口是否正确:在代码中,端口为 3360,而 MySql Workbench 中默认的端口为 3306,请确认代码和配置中的端口是否一致。
确认用户是否拥有远程访问权限:请确认你的 MySql 用户是否拥有远程访问数据库的权限。
确认 MySql 服务是否配置了允许远程连接:请检查 MySql 服务的配置文件,确认是否设置了允许远程连接的选项。
确认服务器上防火墙的设置:确认防火墙是否已经允许了 MySql 服务的远程连接请求。
如果仍然存在问题,请检查你的代码是否有任何问题,或者可以尝试查看 MySql 服务的错误日志以了解更多信息。
把127.0.0.1换成网卡的IP地址试试