错误原因,root用户没有开启权限与安全.
1.查看各用户的权限设置:
select host,user,plugin,authentication_string from mysql.user;
我的root已经设置mysql_native_password`
mysql_native_password是MySQL数据库中的一种身份验证插件。它是MySQL的默认身份验证插件,用于验证用户的密码。
在MySQL中,用户的密码可以以不同的方式进行存储和验证。`mysql_native_password`插件使用经典的MySQL密码哈希算法,将用户密码进行哈希处理后存储在数据库中。当用户尝试进行身份验证时,输入的密码也会经过同样的哈希处理,然后与数据库中存储的哈希值进行比对。
这种插件在较早的MySQL版本中被广泛使用,但随着时间的推移,MySQL引入了更安全的身份验证插件,例如`caching_sha2_password`。这些新的插件使用更强大的哈希算法和加密技术,提供更高的安全性。
如果你正在开发一个新的应用程序或进行数据库迁移,建议考虑使用更安全的身份验证插件,如`caching_sha2_password`。不过,如果你正在与现有的MySQL数据库进行交互,可能需要使用`mysql_native_password`插件来与数据库进行兼容。
其他用户使用caching_sha2_password则无法进行mysql数据库交互
2.修改权限
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
更新user为root,host为% 的密码为123456
host为 % 表示不限制ip localhost表示本机使用 plugin非mysql_native_password 则需要修改密码