--- mysql workbench
Failed to Connect to MySQL at 10.211.55.6:3306 with user root
Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found
--- navcat
连接失败
Client does not support authentication protocol requested by server; consider upgrading MySQL client
原因:密码加密方式【caching_sha2_password】,客户端不支持。
在数据库服务器上登录:
mysql>use mysql;
mysql>select user, host, plugin, authentication_string from user\G;
*************************** 2. row ***************************
user: root
host: %
plugin: caching_sha2_password
authentication_string: $A$005$XN:@GbgA#f7W+*'3rfILovff0TIgd2lrblzTBREzWsJSvRFNwV0Eu/C/XX9
果然 root 的密码是用 caching_sha2_password 插件加密的。而客户端找不到 caching_sha2_password 插件,于是登录不上。我第一反应是给客户端安装相应插件,然而看了官文档:

巴啦巴啦巴啦。。。 sha2_cache_cleaner, likecaching_sha2_password,插件是内置的,不需要安装。
好吧,我更新为最新的 mysql workbench【6.3.9 -> 6.3.10】
一链接,咣当,还是原来的错误。看来 6.3.10的 mysql workbench也没有打包相关插件。
于是我只好在服务端修改用户密码的加方式,看官方文档,需要用 mysql_native_password 加密。
我是用创建新用户来测试此方式是否可行的:
mysql>CREATE USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY 'test';
mysql>CREATE USER 'test1'@'%' IDENTIFIED BY 'test1';
在服务器启动配置中不设置 default-auth=mysql_native_password 的情况下用上面两行创建的用户
都是 mysql_native_password 加密的,原来服务器默认是用 mysql_native_password 加密的;
用上面用户在客户端连接,终于OK了;
那第问题来了,既然默认是用 mysql_native_password 加密的,为什么我的 root 的用户密码是用 caching_sha2_password 加密的?
我回忆在安装好mysql 后,首次登录修改密码时,我用的命令是:
mysql>set password for 'root'@'%' = password('root');
于我尝试用户这行命令去修改我新添加的用户:
mysql>set password for 'test1'@'%' = password('test1');
一查询,心中万只特殊小动物奔过:
*************************** 5. row ***************************
user: test1
host: %
plugin: mysql_native_password
authentication_string: *06C0BF5B64ECE2F648B5F048A71903906BA08E5C
于是我猜测,root用户 在安装数据库是,指定的加密插件是:caching_sha2_password,应该是我的安装没修改安装配置文件。
于是我要修改root用户的加密插件,因为用新添加的用户需要去授权,请原谅我的懒,一个牛B的前辈说过,不懒的程序员都不是一个好的程序员。
修改 root 用户密码:
mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
完结。
-------------------------------------------------------------------
若有其他凝问或文中有错误,请及时向我指出,
我好及时改正,同时也让我们一起进步。
email : binary_space@126.com
qq : 1035862795
敲门砖: 代码谱写人生
- 大小: 66.1 KB
分享到:
相关推荐
在安装 MySql 后,可能会出现连接错误,错误信息如下: ``` ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' ERROR 2002 (HY000): Can't connect to local MySQL server...
在本文中,我们将详细介绍如何在Rocky Linux 9.0系统上使用`yum`命令安装MySQL 8.0,以及安装后的配置步骤,包括启动服务、添加自启动、登录、重置密码、开放远程连接、防火墙设置等关键操作。 **一、检查与安装** ...
在安装 MySQL 8.0 之前,我们需要卸载 CentOS 7 自带的 MariaDB。我们可以使用以下命令来检查系统是否已经安装了 MariaDB: rpm -qa | grep mariadb 如果发现了 MariaDB,我们可以使用以下命令来卸载: yum -y ...
以下是对MySQL8.0编译安装过程的详细概述: 一、系统要求与依赖库 在编译安装MySQL 8.0之前,你需要确保你的系统满足以下基本要求: 1. 操作系统:支持多种Linux发行版,如Ubuntu, CentOS, Red Hat等。 2. C++...
在启动 MySQL 后,我们可以使用 MySQL 客户端连接 MySQL: `/usr/local/mysql/bin/mysql -u root -p` 或者: `mysql -u root -p` 我们可以使用以下命令修改 MySQL 的默认初始化用户 root 的密码: `alter user ...
在Linux环境中安装MySQL 8.0是一个常见的任务,尤其对于那些需要搭建数据库服务器或进行开发工作的用户来说。MySQL 8.0是当前的稳定版本,提供了许多改进和新特性,如增强的安全性、性能优化以及更强大的数据管理...
本文主要针对"mysql8.0旧客户端连接报1251错误"这一常见问题进行深入解析,并提供解决方案。 MySQL 8.0是一个重大更新,引入了许多新特性和安全改进。其中一项变化就是密码验证插件的改变。在MySQL 8.0之前,系统...
对于在 Windows 操作系统上运行的 MySQL 8.0 版本,重置密码的过程是相对直接且安全的。以下是详细的操作步骤: 1. **停止 MySQL 服务**: 首先,你需要停止 MySQL 服务。这可以通过运行服务管理器来完成。按下 ...
在安装 MySQL 8.0.25 时,通常需要依赖 Microsoft Visual C++(VC)运行库,如 VC2019,因为 MySQL 的安装程序可能需要这些组件来正确运行。 **MySQL 8.0.25 的主要特点:** 1. **增强的性能**:MySQL 8.0.25 包含...
在安装MySQL 8.0后,你需要启动MySQL服务,并使用管理工具(如MySQL命令行客户端或Navicat)进行连接。在命令行中,你可以使用`mysql -u root -p`命令,然后输入设定的root用户密码来登录。在Navicat中,你可以创建...
在安装前,确保系统满足MySQL 8.0的硬件和软件需求,例如兼容的操作系统版本、足够的磁盘空间、内存和处理器性能。安装过程中,注意设置合适的端口(默认为3306)、服务账户和启动选项。为了安全起见,强烈建议为...
在安装完成后,需要初始化 MYSQL 8.0 并启动服务。使用管理员身份运行 CMD,输入以下命令: ``` mysqld --initialize --console ``` 这时,MYSQL 8.0 会生成一个临时密码,用于第一次登录。然后,输入以下命令以...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其最新版本为8.0.31。这个版本带来了许多改进和新特性,旨在提供更高效、安全和可扩展的数据库服务。在本文中,我们将深入探讨MySQL 8.0.31的安装过程,以及...
2. **配置实例**:安装过程中,你需要配置MySQL服务器实例,包括设置root用户的密码,选择是否启用网络连接,以及数据存储位置等。 3. **启动服务**:安装完成后,MySQL服务会自动启动,你可以通过命令行或者图形...
7. **创建数据库和用户**:现在你可以通过MySQL客户端连接到服务器,创建新的数据库和用户,设置权限。例如: ``` mysql -u root CREATE DATABASE mydatabase; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser...
在Mac系统上安装MySQL 8.0是一个相对简单的过程,但对于初学者来说,可能需要一些指导。本篇文章将详细介绍如何在Mac上安装并配置MySQL 8.0,以供日常开发或学习使用。 首先,我们需要了解MySQL 8.0是目前最新的...
在安装 MySQL 之前,需要创建一个专门的用户组用来运行 MySQL 服务。该用户组可以命名为 `mysql`,并赋予相应的权限。 配置 my.cnf 文件 my.cnf 文件是 MySQL 服务的配置文件,用于指定数据库的各项参数。用户需要...
在安装`mysql-installer-community-8.0.19.0`时,用户将经历以下步骤:配置MySQL服务器的类型(开发、生产等)、设置root用户的密码、选择要安装的组件(如MySQL Server、Workbench、Connector/J等)、以及网络配置...