我正在尝试使用Flask运行Web应用程序。我的设备上有MySQL服务器,并已将其bind address
更改为192.168.0.102
。
现在,在Python中我试图连接MySQLdb:
conn = MySQLdb.connect("user='myuser', password='mypassword', host='192.168.0.102', database='usersdb'")
... Flask应用程序在192.168.0.102上运行
app.run(debug=True, host='192.168.0.102')
现在,我收到了这个错误:
OperationalError: (2005, "Unknown MySQL server host 'user='myuser', password='mypassword', host='192.168.0.102', database='usersdb'' (0)")
我不知道是不是因为MySQL没有在192.168.0.102上运行 或者如果它与Flask有问题。
可能是什么问题?
答案 0 :(得分:0)
试试这个:
在MySQLdb.connect中输入MySQL服务器所在的IP地址:
<dependency>
<groupId>org.jboss.spec.javax.transaction</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<version>2.0.0.Alpha1</version>
</dependency>
并使用地址conn = MySQLdb.connect(host="localhost", # MySQL host, usually localhost
user="myuser",
passwd="mypassword",
db="usersdb")
:
192.168.0.102
答案 1 :(得分:0)
可悲的是,你试图将string
无效host
放到MySQLdb.connection
,这不是函数所期望的正确的参数!您应该阅读更多文档或尝试使用帮助功能来深入理解此功能。什么是它的要求和预期的哪种类型的参数。
import MySQLdb
help(MySQLdb.connection)
你会看到一些类似下面的文档:
class connection(__builtin__.object)
| Returns a MYSQL connection object. Exclusive use of
| keyword parameters strongly recommended. Consult the
| MySQL C API documentation for more details.
|
| host
| string, host to connect
|
| user
| string, user to connect as
|
| passwd
| string, password to use
|
| db
| string, database to use
|
| port
| integer, TCP/IP port to connect to
检查运行在ip为192.168.0.102
的机器上的mysql服务器,然后尝试通过python命令行交互连接你的mysql服务器:
import MySQLdb
conn = MySQLdb.connect(user='myuser', password='mypassword', host='192.168.0.102', database='usersdb')
它应该正常工作!
顺便说一句,你应该在你的机器所有的地址上运行烧瓶!喜欢: app.run(host='0.0.0.0', debug=True)