使用workbench连接到django中的MySQL数据库

时间:2014-05-05 21:25:26

标签: python mysql database django

我有一个连接到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。

2 个答案:

答案 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连接。