我尝试了3种访问数据库的方法:
~$ mysql -u <username> -h mysql.server -p '<username>$<db_name>'
~$ python manage.py syncdb
错误:
_mysql_exceptions.OperationalError: (1045, "Access denied for user '<username>'@'ip-10-186-190-7.ec2.internal' (using password: NO)")
设定:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<username>$<db_name>',
'USER': '<username>',
'PASSWORD': <password>,
'HOST': 'mysql.server',
'PORT': '3306',
}
}
Pythonanywhere的wsgi模块正在加载正确的设置脚本。数据库密码已在&#39;数据库&#39;中设置和检查。标签
我在virtualenv中使用Django 1.7,Python 3.4,mysqlclient 1.3.4。
感谢您的帮助。
[编辑]:
第一个错误实际上是:
AttributeError: 'SessionStore' object has no attribute '_session_cache'
我不知道这是否有意义。
答案 0 :(得分:4)
问题是缺少数据库连接,并且与会话后端无关。我通过os.environ变量提供数据库的密码。这必须在python的任何地方设置wsgi脚本:
os.environ['DB_PWD'] = '<password>'
全部修复。