Linux MySQL客户端的error 2059

2024-04-23 17:58

本文主要是介绍Linux MySQL客户端的error 2059,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

“error 2059: Authentication plugin ‘caching_sha2_password’ cannot be loaded”

 

 

 

问题描述

在 VMware 虚拟机的客户机 CentOS7 里面安装运行有 Docker 的 MySQL 8.0,由于当前 CentOS7 默认的 MySQL 客户端版本太低(5.5.60)(低版本的客户端认 mysql_native_password 认证插件,而高版本认 caching_sha2_password 插件) ,导致连接服务器时出现以下的错误:

 

 

1

2

error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

 

 

解决办法

  1. 用高版本的 MySQL,或者进入该 Docker 容器,登录 MySQL 服务器。
  2. 执行 MySQL shell 命令查看服务器的版本:

     

     

    1

    2

    > select version();

     

     

    执行结果:

     

     

    1

    2

    3

    4

    5

    6

    7

    +-----------+

    | version() |

    +-----------+

    | 8.0.16    |

    +-----------+

    1 row in set (0.00 sec)

     

     

  3. 查看当前默认的密码认证插件:

     

     

    1

    2

    > show variables like 'default_authentication_plugin';

     

     

     

     

    1

    2

    3

    4

    5

    6

    7

    +-------------------------------+-----------------------+

    | Variable_name                 | Value                 |

    +-------------------------------+-----------------------+

    | default_authentication_plugin | caching_sha2_password |

    +-------------------------------+-----------------------+

    1 row in set (0.01 sec)

     

     

  4. 查看当前所有用户绑定的认证插件:

     

     

    1

    2

    > select host,user,plugin from mysql.user;

     

     

     

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    +-----------+------------------+-----------------------+

    | host      | user             | plugin                |

    +-----------+------------------+-----------------------+

    | %         | root             | caching_sha2_password |

    | localhost | healthchecker    | caching_sha2_password |

    | localhost | mysql.infoschema | caching_sha2_password |

    | localhost | mysql.session    | caching_sha2_password |

    | localhost | mysql.sys        | caching_sha2_password |

    +-----------+------------------+-----------------------+

    5 rows in set (0.00 sec)

     

     

  5. 假如想更改 root 用户的认证方式

     

     

    1

    2

    3

    4

    5

    6

    7

    8

    9

    # 修改加密规则

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

    # 更新用户密码

    > ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

    # 赋予 root 用户最高权限

    > grant all privileges on *.* to root@'%' with grant option;

    # 刷新权限

    > flush privileges;

     

     

    完成解决方案。
    注意:在这之后,将不再支持以下的权限授予语句:

 

 

1

2

grant all privileges on *.* to root@'%' identified by '123456' with grant option;

 

 

参考资料:

MySQL 8.0报错:error 2059: Authentication plugin ‘caching_sha2_password’ cannot be loaded)

这篇关于Linux MySQL客户端的error 2059的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/929497

相关文章

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

linux本机进程间通信之UDS详解

《linux本机进程间通信之UDS详解》文章介绍了Unix域套接字(UDS)的使用方法,这是一种在同一台主机上不同进程间通信的方式,UDS支持三种套接字类型:SOCK_STREAM、SOCK_DGRA... 目录基础概念本机进程间通信socket实现AF_INET数据收发示意图AF_Unix数据收发流程图A

linux环境openssl、openssh升级流程

《linux环境openssl、openssh升级流程》该文章详细介绍了在Ubuntu22.04系统上升级OpenSSL和OpenSSH的方法,首先,升级OpenSSL的步骤包括下载最新版本、安装编译... 目录一.升级openssl1.官网下载最新版openssl2.安装编译环境3.下载后解压安装4.备份

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

mysql线上查询之前要性能调优的技巧及示例

《mysql线上查询之前要性能调优的技巧及示例》文章介绍了查询优化的几种方法,包括使用索引、避免不必要的列和行、有效的JOIN策略、子查询和派生表的优化、查询提示和优化器提示等,这些方法可以帮助提高数... 目录避免不必要的列和行使用有效的JOIN策略使用子查询和派生表时要小心使用查询提示和优化器提示其他常

grom设置全局日志实现执行并打印sql语句

《grom设置全局日志实现执行并打印sql语句》本文主要介绍了grom设置全局日志实现执行并打印sql语句,包括设置日志级别、实现自定义Logger接口以及如何使用GORM的默认logger,通过这些... 目录gorm中的自定义日志gorm中日志的其他操作日志级别Debug自定义 Loggergorm中的

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4