Django syncdb:访问被拒绝

时间:2015-03-12 11:58:18

标签: python mysql django

我是Django和MySQL的新手,我正在尝试继续前一个开发人员编写的项目。

我刚刚完成了MySQL的全新安装(没有设置任何密码)。当我运行python manage.py syncdb时,我收到错误:

python manage.py syncdb
/home/home/.virtualenvs/sorrento/local/lib/python2.7/site-packages/debug_toolbar/settings.py:134: DeprecationWarning: INTERCEPT_REDIRECTS is deprecated. Please use the DISABLE_PANELS config in theDEBUG_TOOLBAR_CONFIG setting.
  "DEBUG_TOOLBAR_CONFIG setting.", DeprecationWarning)

OperationalError: (1045, "Access denied for user 'home'@'localhost' (using password: NO)")

这是settings.py中的数据库配置:

########## DATABASE CONFIGURATION
# See: https://docs.djangoproject.com/en/dev/ref/settings/#databases
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '',
        'USER': '',
        'PASSWORD': '',
        'HOST': '127.0.0.1',
        'PORT': '',
    }
}
########## END DATABASE CONFIGURATION

由于NAME为空,这是否意味着没有设置数据库?我是否需要从以前的开发人员那里获得数据库转储?或者还有其他我想念的东西?

2 个答案:

答案 0 :(得分:2)

告诉您没有权限编辑数据库。为了能够连接,您需要数据库的 NAME 以及 USER PASSWORD 才能连接。

答案 1 :(得分:2)

除非您确实需要其中的任何数据,否则您无需从以前的开发人员那里获取数据库的副本。

你有全新的MySQL安装,所以你只需要创建一个(空的)数据库。

首先,编辑数据库设置,使USER属性为“root”,NAME属性是相关名称(可能是项目名称)。

然后,从shell中,执行mysql -u root然后CREATE DATABASE <dbname>,其中dbname是您在上面使用的NAME。

现在您应该可以运行syncdb