1. 程式人生 > >Docer MySQL Authentication plugin 'caching_sha2_password' cannot be loaded:

Docer MySQL Authentication plugin 'caching_sha2_password' cannot be loaded:

Docker MySQL 終端無法連線

問題描述

在使用Docer安裝MySQL容器後,在終端(Sequel ProNavcat)無法連線。

錯誤日誌

Connection failed!
Unable to connect to host 47.98.150.85, or the request timed out.
Be sure that the address is correct and that you have the necessary privileges, or try increasing the connection timeout (currently 10 seconds).
MySQL said: Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found

問題分析

出現該問題的原因是因為我使用的MySQL映象版本是8.0以上的。而MySQL 8.0預設的認證方式是:caching_sha2_password,之前版本的認證方式是:mysql_native_password
這種情況下一些連線工具的jdbc連線尚未升級,所以會出現上述問題。
其次,在Java程式中,也將連線失敗。

解決方案

建立容器時,載入預設認證方式

在建立MySQL容器時,傳入預設的認證方式--default-authentication-plugin=mysql_native_password,完整命令如下:

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

建立容器後,修改預設認證方式

這種方式在建立容器時,不需要傳入預設認證試--default-authentication-plugin=mysql_native_password。使用如下方式建立MySQL容器:

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

通過docker exec -it mysql bash進入容器,並登入MySQL資料庫:

[[email protected] ~]# docker exec -it mysql bash 
[email protected]
:/# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 8.0.11 MySQL Community Server - GPL Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

之後,切換至mysql資料庫,對原有資料庫資訊進行修改。
使用use mysql切換資料庫, 如下:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql>

檢視當前資料庫認證方式:

mysql> select user, host, plugin from user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | caching_sha2_password |
| mysql.infoschema | localhost | mysql_native_password |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)

mysql>

可以看出當前資料庫root使用者認證方式是caching_sha2_password
修改認證方式:

mysql> alter user 'root'@'%' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.06 sec)

mysql> select user, host, plugin from user;
+------------------+-----------+-----------------------+
| user             | host      | plugin                |
+------------------+-----------+-----------------------+
| root             | %         | mysql_native_password |
| mysql.infoschema | localhost | mysql_native_password |
| mysql.session    | localhost | mysql_native_password |
| mysql.sys        | localhost | mysql_native_password |
| root             | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)

mysql> 

至此,便可解決此問題。個人更推薦使用第一種方式。

相關推薦

Docer MySQL Authentication plugin 'caching_sha2_password' cannot be loaded:

Docker MySQL 終端無法連線 問題描述 在使用Docer安裝MySQL容器後,在終端(Sequel Pro、Navcat)無法連線。 錯誤日誌 Connection failed! Unab

mysql:Authentication plugin 'caching_sha2_password' cannot be loaded

背景:剛剛安裝完mysql 8.0.12想要使用工具連線下,使用者密碼都是正確的出現了以下的錯誤 最近下載新的MySQL8.0 來使用的時候, 通過sqlyog、或者程式中連線資料庫時,提示:Authentication plugin 'caching_sh

MySQL 8.0報錯:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded

報錯資訊: error 2059: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/p

Authentication plugin 'caching_sha2_password' cannot be loaded dlope

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

mysql8.XXX版本以後重置密碼,修改加密方式解決Authentication plugin 'XXX' cannot be loaded問題

在經過千辛萬苦終於把mysql8裝到linux上,發現登入不知道密碼,很尷尬 這裡需要將密碼重置一下.但是都不知道密碼是啥怎麼登入mysql操作修改呢?還是回到/etc/my.cnf 增加skip-grant-tables 這樣就可以跳過登陸的密碼了,但是能操

kbengine前期設定相關mysql8.0 'caching_sha2_password' cannot be loaded: 找不到指定的模組報錯解決

TelnetServer server is running on port 32000 dbmgr-1: [ERROR] DBInterfaceMysql::attach: mysql_errno=2059, mysql_error=Authenticatio

MySQL 連接出現 Authentication plugin 'caching_sha2_password' cannot be loaded

nbsp nat then 單獨 image 管理員權限 ide local .com 很多用戶在使用Navicat Premium 12連接MySQL數據庫時會出現Authentication plugin ‘caching_sha2_password‘ cannot b

Mysql Error:Authentication plugin 'caching_sha2_password' cannot be loaded

ERROR 2059 (HY000): Authentication plugin ‘caching_sha2_password’ cannot be loaded 問題描述:當我使用docker啟動mysql服務時出現上訴報錯 解決辦法: 1.進入mysql容器 docker exec

關於Navicat連線MySQLAuthentication plugin 'caching_sha2_password' cannot be loaded

報錯原因:   報這個錯是因為MySQL8使用了 caching_sha2_password 加密方式而之前MySQL使用的是 mysql_native_password 加密方式,而你的Navicat不支援 caching_sha2_password&nb

mysql8.0 Authentication plugin 'caching_sha2_password' cannot be loaded

cat cannot alter 文件中 article efault new pass 步驟 安裝mysql8.0後使用navicat創建連接, 然後報如題所示警告.可參考如下解決方案: https://stackoverflow.com/questions/49194

ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded; 的解決辦法

執行環境:centos7.4 +MySQL 8.0.11   關於這個問題,我是在MySQL安裝完成後,使用遠端進行登入時遇到的問題,具體異常資訊如下: “ ERROR 2059 (HY000): Authentication plugin 'caching_sha2

navicat connect error: Authentication plugin 'caching_sha2_password' cannot be loaded

 原來,MySql 8.0.11 以上版本 換了新的身份驗證外掛(caching_sha2_password), 原來的身份驗證外掛為(mysql_native_password)。而客戶端工具Navicat Premium12 中找不到新的身份驗證外掛(caching_sha2_password)

2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

alter 重新 cal 報錯 解決方法 pen spa dlopen authent mac本地安裝mysql後,navicat連接報錯: 2059 - Authentication plugin ‘caching_sha2_password‘ cannot be

MySql 連線工具登入提示‘caching_sha2_passwor' cannot be loaded

一、出現這問題主要是驗證外掛問題的 1、我們可以首先進入mysql 的bin目錄下,開啟cmd操作介面  2、cmd輸入  mysql -u root -p    再輸入密碼; 3、繼續 mysql>SELECT `user`, `host`, `authen

DPI-1047: 64-bit Oracle Client library cannot be loaded: "D:appxygproduct11.2.0client_1inoci.dll is not the correct architecture"

ade 連接 ora 64位 color 完成後 添加 tools family 原因: instantclient版本為32位,需更換成64位。 解決方案: 1. 重新下載 instantclient 64位, 下載鏈接:http://jvniu.jb51

Linux下使用Python連接Oracle 報cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded解決方法

iter onf brush enc extern base 分別是 port clas 在Linux上使用python運行數據庫腳本的時候報:cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library c

MySQL8.0提示 caching_sha2_passwor‘ cannot be loaded

local from $0 size 。。 can == col caching 今天在測試使用sqlyog或者navicat 去 連接MySQL8.0 的時候,出現如下報錯提示:ERROR 2059 (HY000): Authentication plugin '

cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: 解決方案

ODPI-C安裝 要在您自己的專案中使用ODPI-C,請從GitHub下載其原始碼。如果您希望將ODPI-C構建為共享庫,則會提供示例Makefile。否則,將ODPI-C原始碼新增到專案中。在Windows上,需要Visual Studio 2008或更高版本。在macOS上

authentication plugin 'caching_sha2_password'的解決方案

    昨天當我把MySQL的安裝程式下載並安裝好,然後又下載了另外一個工具來使用它,該工具的名稱是Navicat Premium,當我通過該工具連線MySQL Workbench的時候,無法連線,提示“2059 - authentication plugin 'caching_sha2_password'

python連線oracle資料庫報錯PI-1047: 64-bit Oracle Client library cannot be loaded: "解決方案

錯誤原因:instantclient版本為32位,需更換成64位。 下載連結:http://jvniu.jb51.net:81/201708/tools/instantclientx64_jb51.rar 修改環境變數: path : D:\mywork\oralce_i