我已经在我的本地计算机上运行了几个月。
我现在正在远程站点上安装。
创建了一个新的mysql数据库,并创建了一个新用户(“某个用户”),并为其提供了完整的授权,如下所示-
将所有权限授予。使用GRANT OPTION发送到由'somepassword‘标识的'someuser'@'localhost’;
我已经使用"python manage.py syncdb“同步了数据库,并且创建了正确的表。我的settings.py也有同样的用户。
但是,当我尝试通过应用程序登录用户时,它访问了数据库,我在日志中看到以下内容-
(1045,“拒绝访问用户‘某个用户’@‘本地主机’(使用密码:是)”)
我通过mysql登录(与django安装在同一个框上),并检查了拨款,它正确地显示-
授予某些用户@localhost
授予*上的所有权限。*通过GRANT选项将密码'*thesaltedpasswordOverHere‘标识为'someuser'@'localhost’
我不想对django使用root用户/密码,因为它似乎不是正确的方式。
有没有什么地方可能是错的?
发布于 2010-03-15 03:28:22
我对一个名为foo_db的数据库这样做:
create database foo_db;
create user foo_user identified by 'foo_password';
grant all on foo_db.* to 'foo_user'@'%';
flush privileges;
发布于 2015-11-30 17:03:11
在我的例子中,settings.py具有以下内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'TRYDJANGO',
'USERNAME':'user_trydjango',
'PASSWORD':'passtry',
'PORT':'3306',
'HOST': 'localhost',
}
}
如果我把“USERNAME”改成“USER”,它就会起作用:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'TRYDJANGO',
'USER':'user_trydjango',
'PASSWORD':'passtry',
'PORT':'3306',
'HOST': 'localhost',
}
}
发布于 2017-10-09 17:04:38
据我所知,有些用户是数据库来宾用户,而不是管理员用户,对吗?
如果是,请从您MySQL DB管理员用户,按如下方式授予某个用户访问MySQL环境表'mysql.user‘的权限:
将SELECT ON mysql
.user
授予‘mysql
’@‘%’;
对我来说很管用,伊凡
https://stackoverflow.com/questions/2443419
复制相似问题