你遇到的错误是由于 mysql 版本不再默认支持 mysql_native_password 认证插件导致的。从 mysql 8.0 开始,默认的认证插件是 caching_sha2_password,而不是 mysql_native_password。
解释:
- 错误 error 1524 (hy000): plugin 'mysql_native_password' is not loaded 表示 mysql 中没有加载或支持 mysql_native_password 插件。
- 从 mysql 8.0 开始,mysql_native_password 插件已经被弃用,默认采用 caching_sha2_password 插件。
解决方法:
如果你必须使用 mysql_native_password 插件,可以尝试以下方法:
方法 1: 使用 caching_sha2_password 插件
你可以使用默认的 caching_sha2_password 插件来设置密码,而不使用 mysql_native_password:
alter user 'root'@'%' identified with caching_sha2_password by 'root';
这将使用默认的 caching_sha2_password 插件,并设置 root 用户的密码为 root。
方法 2: 启用 mysql_native_password 插件(不推荐)
如果你确实需要使用 mysql_native_password 插件,你可以手动启用它,虽然这不建议在最新版本中使用。可以通过修改 mysql 配置文件来加载该插件:
编辑 mysql 配置文件(通常在 /etc/mysql/my.cnf 或 /etc/my.cnf)。
在 [mysqld] 部分添加以下行以启用 mysql_native_password 插件:
default_authentication_plugin=mysql_native_password
保存文件并重启 mysql 服务:
sudo systemctl restart mysql
然后再次运行以下命令来设置密码:
alter user 'root'@'%' identified with mysql_native_password by 'root';
方法 3: 为兼容性指定插件
如果你只想为某个用户启用 mysql_native_password
插件,可以在用户创建或修改时指定插件,如下所示:
create user 'root'@'%' identified with mysql_native_password by 'root';
或者修改现有用户:
alter user 'root'@'%' identified with mysql_native_password by 'root';
建议:
mysql 8.0 及之后的版本推荐使用 caching_sha2_password
插件,因为它提供了更高的安全性和性能。如果没有特别的兼容性需求,建议使用 caching_sha2_password
插件。
你可以尝试方法 1 来解决当前问题,并避免使用 mysql_native_password
插件。
到此这篇关于error 1524 (hy000): plugin ‘mysql_native_password‘ is not loaded的文章就介绍到这了,更多相关error 1524 (hy000)内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论