一次docker登錄mysql報(bào)錯(cuò)問(wèn)題的實(shí)戰(zhàn)記錄
起因
最近想再重溫重溫MySQL,于是就打開(kāi)VMware登上了我的小破機(jī)。想著之前在docker上面已經(jīng)裝過(guò)MySQL了,就嘗試著登錄了一下,
進(jìn)入mysql服務(wù)
docker exec -it mysql bash
輸入命令
mysql -uroot -p
輸入密碼

想象的Welcome to the MySQL沒(méi)有到來(lái),反而是

???密碼明明沒(méi)有錯(cuò),登不上去.....
之后打開(kāi)Navicat,測(cè)試遠(yuǎn)程登錄,??登上去了,Navicat可以正常使用。
那為什么命令行卻登不上去?
找了好多資料才知道原來(lái)是MySQL密碼加密插件的原因,MySQL最新的8.0.x
版本使用的時(shí)默認(rèn)的caching_sha2_password插件,而MySQL5.x的版本使用的是mysql_native_password插件。
使用命令行明文密碼登錄的時(shí)候,走的是mysql_native_password,數(shù)據(jù)庫(kù)中存的是caching_sha2_password加密過(guò)的密碼,所以兩者自然不匹配。
解決方法
可以先通過(guò)以下SQL語(yǔ)句查詢確認(rèn)。
select user, plugin from mysql.user;
在通過(guò)以下SQL進(jìn)行修改:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES;
語(yǔ)句中的用戶:root,host:%,密碼找按實(shí)際情況修改。
解決之后,再次登錄MySQL,就可以登進(jìn)去了。

附:docker下進(jìn)入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>
總結(jié)
到此這篇關(guān)于docker登錄mysql報(bào)錯(cuò)問(wèn)題的文章就介紹到這了,更多相關(guān)docker登錄mysql報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- docker 命令報(bào)異常permission denied的解決方案
- docker容器因報(bào)錯(cuò)無(wú)法啟動(dòng)問(wèn)題的檢查及修復(fù)容器錯(cuò)誤并重啟
- Docker報(bào)錯(cuò)Operation?not?permitted問(wèn)題的解決方法
- Docker啟動(dòng)失敗報(bào)錯(cuò)Failed?to?start?Docker?Application?Container?Engine的解決辦法
- Docker報(bào)錯(cuò):OCI?runtime?exec?failed:?exec?failed:?container_linux.go:380:?starting?container?process的解決方法
- Docker報(bào)錯(cuò)denied:requested access to the resource is denied解決
相關(guān)文章
通過(guò)SqlCmd執(zhí)行超大SQL文件的方法
這篇文章主要介紹了sql?server?與?mysql?中常用的SQL語(yǔ)句區(qū)別,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
詳解如何對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行授權(quán)管理
MySQL數(shù)據(jù)授權(quán)是指數(shù)據(jù)庫(kù)管理員通過(guò)設(shè)置權(quán)限,控制用戶對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的訪問(wèn)和操作能力,在MySQL中,每個(gè)用戶賬戶都有特定的權(quán)限,本文給大家介紹了如何對(duì)MySQL數(shù)據(jù)庫(kù)進(jìn)行授權(quán)管理,需要的朋友可以參考下2024-11-11
Mysql數(shù)據(jù)庫(kù)delete操作沒(méi)報(bào)錯(cuò)卻刪除不了數(shù)據(jù)的解決
本文主要介紹了Mysql數(shù)據(jù)庫(kù)delete操作沒(méi)報(bào)錯(cuò)卻刪除不了數(shù)據(jù)的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01
mysql中GROUP_CONCAT的使用方法實(shí)例分析
這篇文章主要介紹了mysql中GROUP_CONCAT的使用方法,結(jié)合實(shí)例形式分析了MySQL中GROUP_CONCAT合并查詢結(jié)果的相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò)問(wèn)題
本文主要介紹了MySQL解決Navicat設(shè)置默認(rèn)字符串時(shí)的報(bào)錯(cuò),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06

