我在使用mysql的时候有django.db.utils.OperationalError: (1698, "Access denied for user 'root'@'localhost'")。用户名和密码正确:
DB_HOST = '127.0.0.1'
DB_USER = 'root'
DB_PASSWORD = ''我可以以root用户身份登录mysql:
$ sudo mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16但不是以cchilders的身份
$ mysql -u root
ERROR 1698 (28000): Access denied for user 'root'@'localhost'这可能会导致问题的出现。上一次我安装mysql时没有发生这种情况,所以对我来说没有任何意义。我让客户安然无事:
$ pip3 freeze
Django==1.10.5
mysqlclient==1.3.9我怎样才能让普通用户运行mysql,这样我就可以在终端上运行django?谢谢
肮脏的解决方案:
在没有任何修复的情况下,始终以sudo用户身份运行mysql
发布于 2017-01-09 23:56:03
您可以在服务器上以root身份登录的原因是,您可能已经在/root的.my.cnf文件(即root用户的主目录)中指定了密码。检查那里是否有密码,并将其用于cchilders。然后,您可以创建一个特定于django的应用程序用户,以确保django应用程序只对它需要访问而不是通过root mysql用户访问的数据库进行读/写等操作。
create user 'django'@'localhost' identified by 'django-user-password';
grant usage on *.* to 'django'@'localhost';
grant all privileges on django-database-1.* to 'django'@'localhost';发布于 2017-01-09 19:24:49
创建一个非root SQL用户,并更改Django的settings.py文件中的DB_USER变量。
https://stackoverflow.com/questions/41542045
复制相似问题