`
征客丶
  • 浏览: 132517 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

安装 mysql 8.0后;root用户在客户端连接不上

阅读更多
--- 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
分享到:
评论
2 楼 zhangjia_pri 2018-04-24  
可以使用rc版本的客户端:
https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.11-rc-winx64.msi
1 楼 lc2688 2018-04-21  
  找了两个小时,大佬这说的简单明了!谢谢大佬分享!

相关推荐

    MacOS安装MySql8.0.19及安装报错解决方案.docx

    在安装 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...

    mysql8.0root密码忘记解决方案.docx

    MySQL 8.0需要手动开启root用户的权限更新权限: ``` SELECT * FROM mysql.user WHERE user = 'root'\G; UPDATE mysql.user SET Grant_priv='Y' WHERE user='root'; FLUSH PRIVILEGES; COMMIT; ``` 4. **...

    CentOS7安装MySQL8.0.docx

    在安装 MySQL 8.0 之前,我们需要卸载 CentOS 7 自带的 MariaDB。我们可以使用以下命令来检查系统是否已经安装了 MariaDB: rpm -qa | grep mariadb 如果发现了 MariaDB,我们可以使用以下命令来卸载: yum -y ...

    MySQL8.0编译安装_MYSQL_

    以下是对MySQL8.0编译安装过程的详细概述: 一、系统要求与依赖库 在编译安装MySQL 8.0之前,你需要确保你的系统满足以下基本要求: 1. 操作系统:支持多种Linux发行版,如Ubuntu, CentOS, Red Hat等。 2. C++...

    centos7安装MySQL8.0.25.doc

    在启动 MySQL 后,我们可以使用 MySQL 客户端连接 MySQL: `/usr/local/mysql/bin/mysql -u root -p` 或者: `mysql -u root -p` 我们可以使用以下命令修改 MySQL 的默认初始化用户 root 的密码: `alter user ...

    Mysql8.0-linux安装指导

    ### MySQL 8.0 Linux 安装...通过以上步骤,您可以成功地在Linux系统上安装MySQL 8.0版本,并解决安装过程中可能遇到的一些常见问题。确保按照指示操作,如果遇到任何未列出的问题,建议查阅官方文档或寻求专业帮助。

    linux中安装mysql8.0安装包

    在Linux环境中安装MySQL 8.0是一个常见的任务,尤其对于那些需要搭建数据库服务器或进行开发工作的用户来说。MySQL 8.0是当前的稳定版本,提供了许多改进和新特性,如增强的安全性、性能优化以及更强大的数据管理...

    mysql8.0旧客户端连接报1251错误

    本文主要针对"mysql8.0旧客户端连接报1251错误"这一常见问题进行深入解析,并提供解决方案。 MySQL 8.0是一个重大更新,引入了许多新特性和安全改进。其中一项变化就是密码验证插件的改变。在MySQL 8.0之前,系统...

    Windows Mysql8.0忘记密码后重置密码(亲测可用)

    对于在 Windows 操作系统上运行的 MySQL 8.0 版本,重置密码的过程是相对直接且安全的。以下是详细的操作步骤: 1. **停止 MySQL 服务**: 首先,你需要停止 MySQL 服务。这可以通过运行服务管理器来完成。按下 ...

    MySQL8.0.28.0安装包

    在安装前,确保系统满足MySQL 8.0的硬件和软件需求,例如兼容的操作系统版本、足够的磁盘空间、内存和处理器性能。安装过程中,注意设置合适的端口(默认为3306)、服务账户和启动选项。为了安全起见,强烈建议为...

    MySql 8.0 安装与配置

    在安装完成后,需要初始化 MYSQL 8.0 并启动服务。使用管理员身份运行 CMD,输入以下命令: ``` mysqld --initialize --console ``` 这时,MYSQL 8.0 会生成一个临时密码,用于第一次登录。然后,输入以下命令以...

    MySQL8.0安装包下载

    在安装MySQL 8.0后,你需要启动MySQL服务,并使用管理工具(如MySQL命令行客户端或Navicat)进行连接。在命令行中,你可以使用`mysql -u root -p`命令,然后输入设定的root用户密码来登录。在Navicat中,你可以创建...

    MySQL8.0的安装包

    2. **配置实例**:安装过程中,你需要配置MySQL服务器实例,包括设置root用户的密码,选择是否启用网络连接,以及数据存储位置等。 3. **启动服务**:安装完成后,MySQL服务会自动启动,你可以通过命令行或者图形...

    Mac系统安装MySQL8.0

    在Mac系统上安装MySQL 8.0是一个相对简单的过程,但对于初学者来说,可能需要一些指导。本篇文章将详细介绍如何在Mac上安装并配置MySQL 8.0,以供日常开发或学习使用。 首先,我们需要了解MySQL 8.0是目前最新的...

    MySQL数据库 8.0安装手册

    在安装 MySQL 之前,需要创建一个专门的用户组用来运行 MySQL 服务。该用户组可以命名为 `mysql`,并赋予相应的权限。 配置 my.cnf 文件 my.cnf 文件是 MySQL 服务的配置文件,用于指定数据库的各项参数。用户需要...

    MacOS 下安装 MySQL8.0 登陆 MySQL的方法

    在MacOS系统上安装MySQL 8.0并成功登录是一个重要的步骤,对于开发人员和数据库管理员来说,这是日常工作中不可或缺的一部分。以下将详细介绍这个过程。 首先,安装MySQL 8.0通常建议通过官方渠道获取安装包。访问...

    mysql8.0-doc.pdf

    在安装部分,文档会指导用户如何在不同的操作系统上安装 MySQL 8.0。这包括下载、配置、初始化数据库,以及设置安全性选项,如设置 root 用户的密码和启用或禁用远程访问。此外,还会有关于升级、备份和恢复的章节,...

    MySQL-概述-安装配置 mysql-8.0.31-winx64

    7. **创建数据库和用户**:现在你可以通过MySQL客户端连接到服务器,创建新的数据库和用户,设置权限。例如: ``` mysql -u root CREATE DATABASE mydatabase; GRANT ALL PRIVILEGES ON mydatabase.* TO 'myuser...

    mysql-8.0.31安装包

    MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其最新版本为8.0.31。这个版本带来了许多改进和新特性,旨在提供更高效、安全和可扩展的数据库服务。在本文中,我们将深入探讨MySQL 8.0.31的安装过程,以及...

    Ubuntu安装MySQL 8.0与Navicat.pdf

    在Ubuntu系统上安装MySQL 8.0是一个标准的过程,包括更新软件包列表、安装MySQL服务、设置root用户密码以及确保MySQL服务正常运行。首先,为了获取最新的软件包信息,需要执行`sudo apt update`来更新软件包列表。...

Global site tag (gtag.js) - Google Analytics