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

简介

今天在迁移zabbix的数据库,每次连接到本身的mysql都报错,mysql

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

zabbix老是提示数据库

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

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

操做

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

default_authentication_plugin=caching_sha2_passwordcode

包括你使用mysqladmin去初始化数据库也是使用这个的,因此若是想让咱们日常的mysql链接客户端也能够链接上mysql8的数据库那就要修改default_authentication_pluginserver

因此咱们修改my.cnf配置文件blog

加入get

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

相关文章
相关标签/搜索