Я пытаюсь запустить веб-приложение с Flask. У меня есть сервер 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.
В чем может быть проблема?
К сожалению, вы пытаетесь поместить 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
проверьте ваш сервер mysql, запущенный на компьютере, который ip 192.168.0.102
а затем попытайтесь подключить ваш сервер mysql при помощи командной строки python:
import MySQLdb
conn = MySQLdb.connect(user='myuser', password='mypassword', host='192.168.0.102', database='usersdb')
он должен работать!
BTW, ваш должен запустить вашу флягу на весь адрес, который есть у вашей машины! лайк:
app.run(host='0.0.0.0', debug=True)
Попробуй это:
Введите IP-адрес, на котором находится сервер MySQL, в MySQLdb.connect:
conn = MySQLdb.connect(host="localhost", # MySQL host, usually localhost
user="myuser",
passwd="mypassword",
db="usersdb")
И используйте адрес 192.168.0.102
для:
app.run(debug=True, host='192.168.0.102')