错误如下:
django.db.utils.OperationalError: (1045, “Access denied for user ‘root’@‘192.168.190.151’ (using password: YES)”)
解决方法:
方法一:
1.登录mysql,连接用户为root。
mysql -u root -p
2.执行命令查看加密方式
use mysql;
select user,plugin from user where user=‘root’;
3.执行命令修改加密方式
alter user ‘root’@‘localhost’ identified with mysql_native_password by ‘yourpassword’
4.属性权限使配置生效
flush privileges
方法二:修改密码(mysql修改密码远程连接)
ALTER USER “root”@“localhost” IDENTIFIED BY “你的新密码”;
注意:重点啊,如果你没有设置认证方式,默认的密码加密方式是:caching_sha2_password,而现在很多客户端工具还不支持这种加密认证方式,连接测试的时候就会报错:client does not support authentication protocol requested by server; consider upgrading MySQL client,这里的错误信息就是不支持身份认证方式,没关系,去my.ini里面在[mysqld]下面加上这句话即可:
default_authentication_plugin=mysql_native_password
打开远程访问
对于允许远程访问,有两种角色,一种是我们的root用户,还有一种是非root用户,从安全的角度(我也不知道什么角度,听别人说的,暂且相信着吧),远程访问最后不要用root用户
用root用户访问:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%'IDENTIFIED BY ‘密码’ WITH GRANT OPTION;