我正在将MySQL-8.0与MySQL Workbench连接起来并出现以下错误:

Authentication plugin 'caching_sha2_password' cannot be loaded:

dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image

not found

我也尝试过使用其他客户端工具。

有什么解决办法吗?

如果将MySQL 8.0配置为以mysql_native_password模式运行,则可能能够解决此问题。

正确,MySQL Workbench需要更新连接器才能使用缓存的sha2密码(即将推出)。

@RaymondNijland如何配置?

我将默认登录设置为本机并重新启动,问题仍然存在,并且无法登录以创建新用户。令人惊讶的是,在2018年安装Mysql和workbench并没有用完。劣质的质量控制。

@AmanAggarwal MySql Workbench具有一个新版本,该版本与MySQL 8.0兼容。它是RC,但我不例外,它看起来很棒=)。

@MikeLischke正如我刚刚读到的那样,caching_sha2_password无法单独使用,因为它静态链接在libmysql.dll中。在重大更新中就可以了,我只想知道为什么只有64位版本的libmysql,而没有32位版本? Oracle是否真的打破了32位服务器系统?

我不知道您从哪里得到的印象就不会再有32位mysql客户端库了,但是那不是真的。事实是,MySQL Workbench不再附带32位版本。

mysql.com上没有32位版本的下载选项。如果您说的不对,则可能需要在32位Windows上运行安装程序才能获得它。不知道我从哪里得到。

尝试在32位Windows 7上安装时,安装程??序会说它仅包含64位服务器,而不包含32位版本。

这些答案表明使用较弱的加密不是正确的方法。使用诸如tableplus之类的其他客户端。

注意:对于MAC OS

从"系统偏好设置">"初始化数据库">"打开MySQL"

输入您的新密码。

选择"使用旧密码"

再次启动服务器。

现在连接MySQL Workbench

它有效,但是想知道如何连接到强加密...

这有助于OSX

这项工作,谢谢。我认为这是可行的,因为MySQL工作台使用旧式密码加密来连接数据库服务器。也可以在安装MySQL并选择Legacy加密(而不是建议的Strong password加密)时进行。

某些版本的mysql具有不同的设置面板,因此无法正常工作

退回到旧的安全性较低的身份验证广告根本不是一个好的解决方案。

我在系统偏好设置中没有MySQL

您可以按照以下步骤在系统偏好设置中设置MySQL:dev.mysql.com/doc/refman/5.7/en/osx-installation-prefpane.html

解决问题的问题!

它为我工作。谢谢。

只是尝试更新您的客户端以支持新方法

您可以像这样更改密码的加密。

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';

如果OP要使用全新的酷认证方法怎么办?

@twocold,不错的脚本查询。+ 1

请注意,yourusername和yourpassword应该用单引号引起来,如@twocold代码所示。

@twocold完成操作后,如何"撤消"以上的ALTER USER回到MySQL 8.0标准(新的加密级别)?

@LibertyPaul这种打破一切的全新酷认证方法是什么?有链接或我可以用谷歌搜索的术语?

@BrianFitzGerald的" caching_sha2_password",请在此处或此处链接。

有效。谢啦。 ALTER USER root @ localhost用root标识mysql_native_password;

对于Windows 10:

打开命令提示符

cd"C:\Program Files\MySQL\MySQL Server 8.0\bin"

C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p

Enter password: *********

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';

Query OK, 0 rows affected (0.10 sec)

mysql> exit

另外,您可以按以下方式更改my.ini配置:

[mysqld]

default_authentication_plugin=mysql_native_password

重新启动MySQL Server并再次打开工作台。

更改my.ini对我不起作用-但命令提示符更改确实起作用。

您可以使用下面的Alter命令更改用户,从而更改用户密码的加密:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY

'password';

要么

我们可以通过使用旧密码插件来避免此错误:

首先,在Linux的my.cnf文件/ Windows中的my.ini文件中更改身份验证插件:

[mysqld]

default_authentication_plugin=mysql_native_password

重新启动mysql服务器以影响更改,并尝试通过MySQL与任何mysql客户端连接。

如果仍然无法连接并出现以下错误:

Unable to load plugin 'caching_sha2_password'

这意味着您的用户需要上述插件。因此,尝试在更改默认插件后使用create user或grant命令创建新用户。那么新用户需要本机插件,您就可以连接MySQL。

谢谢

绝对不能解决缺少插件的问题。

它是。问题是数据库管理软件尚未处理它。因此,除非您是mysql工作台开发人员,否则这是您现在的解决方法。

为我工作。谢谢

添加config标志后创建新用户的部分至关重要。

由于滥用了不必要的琐碎编辑,在过去三个月中,该帖子一直处于颠簸状态,因此该帖子将被锁定。

当前(在2018/04/23上),您需要下载开发版本。 GA的无效。

我无法连接到最新的GA版本(6.3.10)。

它与mysql-workbench-community-8.0.11-rc-winx64.msi一起使用(来自https://dev.mysql.com/downloads/workbench/,选项卡Development Releases)。

这对我有用。谢谢!

这也对我有用。谢谢!

谢谢我的工作100%

实际上,这是正确的答案:MySQL 8.0需要MySQL Workbench 8.0,不幸的是,它仍处于beta模式。但是一旦安装,您就可以坚持使用新的SHA密码加密,无需更改任何内容。

不是测试版,而是候选发布版(RC)。 GA(一般可用)版本即将推出。

对我来说最好的主意。

情况仍然如此。 GA版本的安装仍然会导致无法使用建议的密码加密方式登录。没有警告说GA版本仅适用于旧式身份验证。

这是正确的答案。我浪费了很多时间:(

至少在MacOS中,GA版本当前为8.0.12(2018/08/13),并解决了该问题!谢谢!

我遇到了同样的问题,但是Aman Aggarwal的答案对运行mysql 8.X的Docker容器不起作用。

我登录了容器

docker exec -it CONTAINER_ID bash

然后以root身份登录mysql

mysql --user=root --password

输入root的密码(默认为" root")

最后运行:

ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';

你们都准备好了

更新了0行,但仍然有效。

万分感谢!这对我来说效果很好!

看来这可能是即时通讯所寻找内容的好答案。但是我不知道"这个"是什么。你是说接受的答案?或另一个...

是@ZachSmith," this"是指接受的应答者。

docker exec -it CONTAINER_ID mysql --user=root --password而不是两个依赖bash shell存在的命令(将来不确定)如何?

这不适用于使用docker desktop 2.0.3.0(mac)的sequelpro 1.1.2。命令全部正常,但是登录后出现续集专业错误-使用mysql:latest(v8.0.15)

正如其他人所报道的那样,使用mysql 5.7不需要任何操作:docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

关于这个问题的很多历史记录-github.com/sequelpro/sequelpro/issues/2699

我正在使用" MySQL Web Installer"在Windows 10 PC上安装MySQL,并且在尝试使用MySQL工作台进行连接时遇到相同的问题。我通过从"安装程序"窗口重新配置服务器来解决此问题。

单击"重新配置"选项,它将允许重新配置服务器。单击"下一步",直到到达"身份验证方法"。

在此选项卡上,使用第二个选项"使用旧版身份验证方法(保留MySQL 5.x兼容性)"。

保持其他一切不变,这就是我解决问题的方式。

我手动解压缩mysql-8.0.11-winx64.zip,无法轻松解决"无法加载caching_sha2_password"问题。但是,使用mysql-installer-community-8.0.11.0.msi并遵循上述建议,MySQL Workbench 8.0.11可以登录MySQL服务器8.0.11。

像这样?

docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password

mysql -uroot --protocol tcp

尝试PWD

https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml

或者您应该使用MySQL Workbench 8.0.11。

添加--default-authentication-plugin = mysql_native_password就像一个魅力<3谢谢

好的,这浪费了很多时间,所以这里是截至2019年3月19日的摘要

如果您专门尝试在MySql 8+上使用Docker映像,然后使用SequelPro来访问在该Docker容器上运行的数据库,那么您就不走运了。

请参阅sequelpro问题2699

我的设置是使用docker desktop 2.0.3.0(mac-mojave)的sequelpro 1.1.2,并尝试使用mysql:latest(v8.0.15)。

正如其他人所报道的那样,使用mysql 5.7不需要任何操作:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

当然,可以在docker上使用MySql 8+,并且在这种情况下(如果需要),此处提供的针对caching_sha2_password类型问题的其他答案也可以使用。但是sequelpro对于MySql 8+来说是行不通的

最后,我放弃了sequelpro(2013-2014年的一个可信赖的朋友),而是安装了DBeaver。一切开箱即用。对于docker,我使用了:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest --default-authentication-plugin=mysql_native_password

您可以使用以下方法快速查看mysql数据库:

docker exec -it mysql1 bash

mysql -u root -p

show databases;

非常感谢您分享此信息。意外删除MySQL开发容器后,我尝试使用完全相同的组合。

遗憾的是,Sequel Pro不再积极开发了:(最新消息发布于2016年4月3日,而现在已经是2019年。这是我为MySQL资源管理器看到的最佳工具。

@OleksiiShnyra确实,几年来还没有正式发布版本,但仅供参考,可以使用更新的"每晚"版本。 sequelpro.com/test-builds并通过brew cask install homebrewcask-versionssequel-pro-nightly。

对于可以通过命令行(mysql客户端)和ALTER其myslq.user表登录的用户,有一种解决方法可以使SequelPro正常工作,请在此处注明:github.com/sequelpro/sequelpro/issues/

如果您使用的是MySQL 8,并且不想降级到mysql_native_password,则可以按照以下步骤操作:stackoverflow.com/a/56402217/2321594

-打开MySQL命令行客户端

-通过新通行证创建新用户

考虑到顶部bin文件夹的路径示例,这是您需要在命令提示符下逐行运行的代码:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin

MySQL -u root -p

current password...***

CREATE USER 'nativeuser'@'localhost'

IDENTIFIED WITH mysql_native_password BY 'new_password';

-然后,您可以再次访问Workbench(在创建新的localhost连接并使用新的凭据开始使用程序之后,您应该能够执行此操作)。

使用上述用户名(本机用户)建立新的本地主机连接,使用密码(new_password)登录

礼貌:Career365团队回答的UDEMY常见问题解答

这工作了。为什么?尝试使用root连接并且没有密码(在命令行中有效,但在Sequel Pro中则无效)时出现此错误。

对于使用Docker或Docker Compose的用户,由于未设置MySQL映像版本,因此遇到了此错误。 Docker将自动尝试获取最新版本为8。

我将MySQL设置为5.7并重建了图像,它正常工作:

version: '2'

services:

db:

image: mysql:5.7

更改版本不是正确的解决方案。

不为我工作。崩溃了

有充分的理由使用版本8而不是版本5。我在此页面上是因为我想使用版本8而不是版本5。

使用mysql:5.7代替mysql:latest为我解决了这个问题

这是我在docker-compose中的databdase定义:

dataBase:

image: mysql:8.0

volumes:

- db_data:/var/lib/mysql

networks:

z-net:

ipv4_address: 172.26.0.2

restart: always

entrypoint: ['docker-entrypoint.sh', '--default-authentication-plugin=mysql_native_password']

environment:

MYSQL_ROOT_PASSWORD: supersecret

MYSQL_DATABASE: zdb

MYSQL_USER: zuser

MYSQL_PASSWORD: zpass

ports:

-"3333:3306"

相关行有入口点。

构建并启动它之后,可以使用以下命令进行测试:

$ mysql -u zuser -pzpass --host=172.26.0.2  zdb -e"select 1;"

Warning: Using a password on the command line interface can be insecure.

+---+

| 1 |

+---+

| 1 |

+---+

这对我有用!谢谢。

对于Windows 10,

在** C: ProgramData MySQL MySQL Server 8.0 **中修改my.ini文件

的[mysqld]

default_authentication_plugin = mysql_native_password

重新启动MySQL服务

在命令行中登录到MySQL,在MySQL中执行以下命令

创建一个新用户

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

授予所有特权

GRANT ALL PRIVILEGES ON * .* TO 'user'@'localhost';

打开MySQL工作台,使用新的用户凭据打开新的连接

我正面临着同样的问题,并且这个方法可行。

这是在Windows 10上安装MySQL 8.0后为我工作的解决方案。

假设MySQL用户名是root,密码是admin

打开命令提示符,然后输入以下命令:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

mysql_upgrade -uroot -padmin

mysql -uroot -padmin

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY

'admin'

它对我有用.....谢谢

如果像我这样在GitLab CI上遇到此错误:

只需从最新版本更改为5.7版本;)

# .gitlab-ci.yml

rspec:

services:

# - mysql:latest (I'm using latest version and it causes error)

- mysql:5.7 #(then I've changed to this specific version and fix!)

几乎与上面的答案类似,但可能是在简单的查询中,在MySQL升级后,我在Spring Boot应用程序中出现了此错误,并进入了休眠状态。我们通过对数据库运行以下查询来创建新用户。我相信这是暂时解决方法,可以使用sha256_password代替最新且良好的身份验证caching_sha2_password。

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';

对我来说,这之所以开始发生是因为在一个项目中,我使用的是Docker镜像mysql:latest(版本5,并且运行良好),在以后的构建中,最新版本切换到了版本8,并停止了工作。我将映像更改为mysql:5,并且不再遇到此错误。

就在头上!谢谢。

适用于macOS的MySQLWorkbench 8.0.11解决了此问题。

我可以与在docker中运行的受root密码保护的mysql实例建立连接。

这就是为我解决的问题。我运行的是带有8.0服务器的旧版MySQL Workbench 6.3。虽然这里有许多答案都说要降低服务器的兼容性,但我只是将Workbench版本升级到了最新的8.0版本(当前是8.0.15)。

打开我的sql命令promt:

然后输入mysql密码

最终使用:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

参考:https://stackoverflow.com/a/49228443/6097074

谢谢。

当所使用的工具与MySQL8不兼容时,会出现此错误,请尝试将MySQL Workbench更新为MySQL8的最新版本

以下解决方案为我工作

转到Mysql Workbench->服务器->用户和特权

1.单击添加帐户

2.在"登录"选项卡下,提供新的详细信息,并确保选择"身份验证类型"作为标准,并选择相应的管理角色和架构权限

我找到

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

本身不能工作。我还需要设置

[mysqld]

default_authentication_plugin=mysql_native_password

在/etc/mysql/mysql.conf.d/mysqld.cnf中

在运行PHP 7.0的Ubuntu 18.04上

这在Centos 7上对我有用。由于某种原因,默认情况下,我的密码被保存为caching_sha2_password,尝试使用phpMyAdmin登录时出现错误#1251。

在Mac上下载8.0.11-rc的开发发行版对我有用。使用以下docker命令:

docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql

如果您尝试从另一台计算机(无论是否为Docker)从基于文本的MySQL客户端连接到MySQL服务器,

这里的大多数答案都涉及从桌面客户端进行连接,或者要求您切换到较旧的身份验证方法。如果您将其与MySQL客户端(基于文本)连接,则可以使其与Docker容器中的Debian Buster一起使用。

假设您已经安装了apt系统和wget,请执行以下操作:

sudo apt-get update

sudo apt-get install lsb-release -y

从MySQL网站下载一个Debian软件包,它会为您更新apt源。

sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb并选择所需的选项。就我而言,我只需要启用MySQL Tools & Connectors。

sudo apt-get update

sudo apt-get install mysql-client -y

做完了现在,您可以运行新的MySQL客户端并使用新的身份验证方法进行连接。

我通过安装MySQL 5.7解决了这个问题:

步骤1 –启用MySQL储存库

首先,您需要在系统上启用MySQL 5.7社区发布的yum存储库。用于yum存储库配置的rpm软件包可在MySQL官方网站上找到。根据您的操作系统版本使用以下命令中的on。

在CentOS和RHEL 7上

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

在CentOS和RHEL 6上

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

在Fedora 27上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

在Fedora 26上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

在Fedora 25上

dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

第2步–安装MySQL 5.7服务器

在系统上成功启用MySQL yum存储库后。现在,根据您的操作系统版本,使用以下命令安装MySQL 5.7社区服务器。

在CentOS和RHEL 7/6上

yum install mysql-community-server

在Fedora 27/26/25

dnf install mysql-community-server

来源:https://tecadmin.net/install-mysql-5-7-centos-rhel/

回滚到以前的安装(到MySQL Community Server 5.7和Workbench 6.1)并设置新的MySQL凭据对我有用!

mysql密码认证插件_关于mysql:无法加载身份验证插件’caching_sha2_password’相关推荐

  1. 【亲自验证】Navicat连接MySql提示无法加载身份验证插件“缓存_sha2_密码”?

    Navicat连接MySql提示无法加载身份验证插件"缓存_sha2_密码" [1]首先登录MySql(见下图) [2]管理员身份运行CMD(见下图) [3]如图所示 [4]Nav ...

  2. 无法加载身份验证插件“ caching_sha2_password”

    本文翻译自:Authentication plugin 'caching_sha2_password' cannot be loaded I am connecting MySQL - 8.0 wit ...

  3. mysql8.0 无法加载身份验证插件“缓存_sha2_密码” 问题解决方法

    一. 在mysql8.0当中对登录密码的认证进行了增强: 由原来的"mysql_native_password"改为"caching_sha2_password" ...

  4. mysql sha256函数_MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件

    mysql5.8开始将caching_sha2_password作为默认的身份验证插件 该caching_sha2_password和 sha256_password认证插件提供比mysql_nati ...

  5. 【得物技术】MySQL 8.0:新的身份验证插件(caching_sha2_password)

    从 MySQL 8.0.4 开始,默认身份验证插件从 mysql_native_password 更改为 caching_sha2_password.相应地,现在的 libmysqlclient 将使 ...

  6. 浅谈 MySQL 新的身份验证插件 caching_sha2_password

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 介绍 从 MySQL 8.0.4 开始,MySQL ...

  7. mysql插件验证_mysql8 参考手册--客户端明文身份验证插件

    提供了客户端身份验证插件,使客户端可以将密码以明文形式发送到服务器,而无需哈希或加密.该插件内置在MySQL客户端库中. 下表显示了插件名称. 表6.15用于明文身份验证的插件和库名称 插件或文件 插 ...

  8. mysql修复损坏表_在MySQL中,如何修复损坏的表

    本指南旨在作为故障排除资源和诊断MySQL设置的起点. 有时,MySQL表损坏,这意味着发生了错误,并且其中的数据无法读取. 损坏表的一些常见原因是:MySQL服务器在写数据的时候停止.外部程序同时修 ...

  9. MySQL8.0新特性——默认使用caching_sha2_password作为身份验证插件

    mysql5.8开始将caching_sha2_password作为默认的身份验证插件 该caching_sha2_password和 sha256_password认证插件提供比mysql_nati ...

最新文章

  1. 2021年春季学期-信号与系统-第一次作业参考答案-第五题
  2. numpy.exp详解
  3. PLS-00172: string literal too long
  4. 此上下文中不支持函数定义。请在代码文件中创建函数。_深入解析Python上下文管理器,让你不再迷茫!...
  5. 游戏物体的力与运动:用unity实现磁体相互吸引和排斥的效果
  6. 直播笔记 | Unity中路径的疑难杂症剖析
  7. 《编码规范和测试方法——C/C++版》作业 ·008——编写一个符合依赖倒置原则的简单学生管理系统
  8. 【转】html5离线储存,application cache,manifest使用体验
  9. linux多线程编程书籍推荐:linux大牛之路从这几本书开始
  10. 代码整洁之道 python_代码整洁之道的 7 个方法
  11. u盘维护系统 linux,制作绝对pe+puppy U盘维护系统双系统(以下方法也可制作archlinux U盘安装)...
  12. XOM版本1.2.5
  13. 验证方法学的历史及比较
  14. 修复计算机有什么用,电脑硬盘坏道修复了对以后电脑使用有什么影响吗?
  15. 计算机硬件故障诊断的原则,电脑硬件故障检测的基本原则
  16. 什么是中台(个人理解)
  17. sql语法基础,sql分组查询
  18. Java入门第三季-综合实战:简易扑克牌游戏
  19. How Linux Boots
  20. 打造自己的安卓Metro界面

热门文章

  1. Problem K. Road Network - ACPC2015(求树的直径 dp)
  2. 骨传导原理是什么?骨传导耳机对保护耳朵健康有帮助吗?
  3. javascript判断浏览器和终端类型,js如何区分手机、电脑终端和浏览器
  4. 这些专业是考研大户!
  5. 六个步骤教你学会用ZBrush绘制头部模型
  6. 老版java奇缘幻境,老版奇缘幻境1
  7. C# 编写的 64位操作系统 -MOOS
  8. PPC活动的优化利用Prosper202
  9. 关于驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server的解决方案
  10. 二开免公众号盲盒源码