Syncdb - 访问被拒绝但mysql -u root -p - 授予访问权限

时间:2014-06-22 07:23:31

标签: mysql django

我试图通过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数据库存在。

这怎么可能?

1 个答案:

答案 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测试