为了账号安全,请及时绑定邮箱和手机立即绑定

Python MySQLdb 在命令行上从 Python 工作

Python MySQLdb 在命令行上从 Python 工作

当年话下 2021-09-11 17:55:12
我有一个名为 getpos 的 Django views.py 函数,它由 apache2 和 wsgi.py 提供服务。如果我在 Ubuntu 命令行的普通 Python 会话中从我的 views.py 中运行完全相同的代码,MySQLdb 连接工作正常:>>> import MySQLdb>>> db = MySQLdb.connect(host="localhost",port=22,user="root",passwd="mypassword",db="gps")>>> >>> cursor = db.cursor()如果我从 django 调试服务器运行它,它会失败:ERROR: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)")运行的代码是这样的:def getpos(request):    query = "SELECT * FROM..."    # connect to the DB and return nearby deals    db = MySQLdb.connect(host="localhost",port=22,user="root",passwd="mypassword",db="gps")    cursor = db.cursor()    # Query the gps Data database    results = cursor.execute(query)    db.commit()为什么我可以在命令行上从 Python 连接,但不能在 Django 的 views.py 文件中连接?谢谢。我试过使用“127.0.0.1”而不是“localhost”,但似乎没有任何效果。我感谢任何帮助谢谢!
查看完整描述

1 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

我不得不将连接参数中的端口更改为 host="localhost",port=3306。


查看完整回答
反对 回复 2021-09-11
  • 1 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信