欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一次docker登錄mysql報錯問題的實戰(zhàn)記錄

 更新時間:2022年01月19日 10:02:13   作者:烏克蘭老母居  
這篇文章主要給大家介紹了一次docker登錄mysql報錯問題的實戰(zhàn)記錄,文中通過實例代碼介紹的非常詳細,對大家學習或者使用docker具有一定的參考學習價值,需要的朋友可以參考下

起因

最近想再重溫重溫MySQL,于是就打開VMware登上了我的小破機。想著之前在docker上面已經裝過MySQL了,就嘗試著登錄了一下,

進入mysql服務

docker exec -it mysql bash

輸入命令

mysql -uroot -p

輸入密碼

想象的Welcome to the MySQL沒有到來,反而是

???密碼明明沒有錯,登不上去.....

之后打開Navicat,測試遠程登錄,??登上去了,Navicat可以正常使用。

那為什么命令行卻登不上去?

找了好多資料才知道原來是MySQL密碼加密插件的原因,MySQL最新的8.0.x
版本使用的時默認的caching_sha2_password插件,而MySQL5.x的版本使用的是mysql_native_password插件。

使用命令行明文密碼登錄的時候,走的是mysql_native_password,數(shù)據(jù)庫中存的是caching_sha2_password加密過的密碼,所以兩者自然不匹配。

解決方法

可以先通過以下SQL語句查詢確認。

select user, plugin from mysql.user;

在通過以下SQL進行修改:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;

語句中的用戶:root,host:%,密碼找按實際情況修改。

解決之后,再次登錄MySQL,就可以登進去了。

附:docker下進入mysql命令行

[root@VM_0_8_centos ~]# docker exec -it 89c5b9c81e74  bash
root@89c5b9c81e74:/# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 141019
Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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> 

總結

到此這篇關于docker登錄mysql報錯問題的文章就介紹到這了,更多相關docker登錄mysql報錯內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論