美文网首页linux Linux学习之路Linux
解决mysql8.0因密码认证插件导致的链接不上

解决mysql8.0因密码认证插件导致的链接不上

作者: bboysoul | 来源:发表于2019-07-04 20:15 被阅读1次

    简介

    今天在迁移zabbix的数据库,每次链接到自己的mysql都报错,

    mysqlAuthentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password

    zabbix总是提示

    **** MySQL server is not available. Waiting 5 seconds...

    在经过了解决网络配置相关的问题之后,最终发现是密码加密方式的问题

    操作

    mysql 8.0 数据库默认的认证插件是

    default_authentication_plugin=caching_sha2_password

    包括你使用mysqladmin去初始化数据库也是使用这个的,所以如果想让我们平常的mysql连接客户端也可以连接上mysql8的数据库那就要修改default_authentication_plugin

    所以我们修改my.cnf配置文件

    加入

    default-authentication-plugin=mysql_native_password

    但是这个配置参数只对新的用户起作用,对于老的,比如root那就要重新设置一下密码

    对与那个用户使用了哪种认证插件,你可以去mysql的用户表去查看plugin字段

    mysql -u root -p

    use mysql

    select * from user;

    接着我们修改root的认证插件

    ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

    之后就好了

    欢迎关注Bboysoul的博客www.bboysoul.com
    Have Fun

    相关文章

      网友评论

        本文标题:解决mysql8.0因密码认证插件导致的链接不上

        本文链接:https://www.haomeiwen.com/subject/pcsbyqtx.html