我试图通过Django
(`Bitnami djangostack)访问我的数据库。
以下是我的数据库设置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'djangostack',
'HOST': '/opt/bitnami/mysql/tmp/mysql.sock', #or 127.0.0.1
'PORT': '3306',
'USER': 'root',
'PASSWORD': 'bitnami'
}
}
当我执行python manage.py syncdb
时,我得到:
1045, Access denied for user 'root'@'localhost' (using password: YES)
但我可以使用此用户名和密码登录MySQL。
djangostack
数据库存在。
这怎么可能?
答案 0 :(得分:0)
通过进行一些测试,您可以轻松找到代码中可能存在的错误:)
1)在mysql中创建新用户并在settings.py和test中使用它:
GRANT ALL PRIVILEGES ON djangostack.* To 'user'@'hostname' IDENTIFIED BY 'password';
在djangostack数据库上向用户授予所有权限:
GRANT ALL PRIVILEGES ON djangostack.* To 'user'@'hostname'
2)删除PORT参数测试 *默认端口为8000.所以您的管理员可以在localhost:8000 / admin
访问3)将HOST更改为127.0.0.1测试