python -/admin/login/(1698, "Access denied for user ' root'@'localhost'") 出现操作错误

标签 python mysql django

是的,这是 Stack Overflow 中的一个常见问题,但我的问题有点不同!

我在Digital Ocean上有一个服务器。 操作系统:Ubuntu 18.04

我尝试使用 mysqlapache 服务器 上托管我的 django 项目。

我已经完成了第一部分,但问题是集成mysql。我已经安装了mysqlmysqlclient。我的mysql中有一个带有密码的用户root。我已经创建了一个数据库并授予了以下权限。

GRANT ALL PRIVILEGES ON urp_test.* TO 'root'@'localhost' identified by 'password_for_root';

我配置了我的 settings.py 文件。这是db部分:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'urp_test',
        'USER': 'root',
        'PASSWORD': 'password_for_the_db',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

然后我做了一个python manage.py makemigrationspython manage.py migratepython manage.py createsuperuser

所有这些都已成功执行。因此,当我从 admin 模块登录时,我看到错误:

OperationalError at /admin/login/ (1698, "Access denied for user 'root'@'localhost'")

我尝试删除数据库并执行相同的操作几次,但出现同样的问题。

编辑:

如果我从终端使用相同的用户名和密码登录,即如下所示:

mysql -u root -p 使用密码,我可以访问数据库。

正如我之前提到的,python manage.py createsuperuser 确实创建了一个用户,我可以从数据库表中获取该用户。

问题是当我尝试从浏览器的 admin 部分登录该用户时,即如下所示:

W.X.Y.Z:80/admin/login

我收到了上述错误。这里 W.X.Y.Z 是我的 DigitalOcean 服务器的 IP

所以,这肯定仍然是一个权限错误,不是吗?

  1. 如何解决此错误?
  2. 我还计划为我的普通用户开发一个注册模块。 如果他们注册,他们可以获得此权限吗? 他们可以访问数据库吗?

最佳答案

root 用户下打开 db 会有些复杂。详情可查看here

我做了什么:

  1. 以 root 用户身份登录 mysql

    mysql> mysql -u root -p

  2. 创建了一个新用户

    mysql> 创建由“密码”标识的用户“newuser”@“localhost”;

  3. mysql> 授予 * 上的所有权限。 * TO 'newuser'@'localhost';

  4. mysql>刷新权限;

  5. mysql>退出

  6. 然后我以新用户身份登录

    mysql -u newuser -p

并输入我之前设置的用于创建此用户的新密码

  • 然后我创建了db:

    创建数据库 my_database_name

  • 关于python -/admin/login/(1698, "Access denied for user ' root'@'localhost'") 出现操作错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52863173/

    相关文章:

    mysql - 将步骤 auto_increment 字段增量更改为

    python - 更新 mysql 字段未读结果发现

    Django:在 HttpResponse 之后重定向

    python - 如何在Django中导出和导入数据和授权信息?

    python - 从已完成的 celery 任务中清除 redis

    python - 优化代码以检查列表元素是否唯一

    python - 将字符串与数据框中的每一行连接并对它们应用函数?

    java - JSON 响应的正确格式是什么?

    php - 将简单的php代码转换为python

    python - Django搭建类似YouTube的视频网站