我有一个连接到MySQL数据库的django项目如下:
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'my_db',
'USER': 'username',
'PASSWORD': 'mypassword',
'HOST': '',
'PORT': '',
}
}
在运行python manage.py syncdb
时,它会创建数据库并在runserver
上运行完美的应用程序,并且我可以使用管理面板正确地将数据输入到模型中。
但是,在尝试使用MySQL Workbench连接到数据库时,它给了我
Can't connect to MySQL server on '127.0.0.1' (111)
错误。
我按如下方式创建了数据库:
Grant all on my_db.* to 'username'@'localhost' identified by 'mypassword';
flush privileges;
即使服务器运行正常,为什么Workbench会向我显示该错误?提前谢谢!
编辑:使用单词pythong。
答案 0 :(得分:1)
我有类似的问题但是通过将#port和#host更新到配置文件中来解决它。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'vres', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '3306', # Set to empty string for default.
}
}
答案 1 :(得分:0)
可能是您的MySQL服务器只是在监听localhost。
在my.cnf
文件中,注释掉bind-address
。
#bind-address = 127.0.0.1
重新启动MySQL服务器,看看是否可以与Workbench连接。