我是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
为空,这是否意味着没有设置数据库?我是否需要从以前的开发人员那里获得数据库转储?或者还有其他我想念的东西?
答案 0 :(得分:2)
告诉您没有权限编辑数据库。为了能够连接,您需要数据库的 NAME 以及 USER 和 PASSWORD 才能连接。
答案 1 :(得分:2)
除非您确实需要其中的任何数据,否则您无需从以前的开发人员那里获取数据库的副本。
你有全新的MySQL安装,所以你只需要创建一个(空的)数据库。
首先,编辑数据库设置,使USER属性为“root”,NAME属性是相关名称(可能是项目名称)。
然后,从shell中,执行mysql -u root
然后CREATE DATABASE <dbname>
,其中dbname是您在上面使用的NAME。
现在您应该可以运行syncdb
。