最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

docker獲取mysql賬號密碼的方法

 更新時間:2025年08月09日 12:12:03   作者:愛吃土豆的馬鈴薯?????????  
本文介紹Docker中獲取MySQL密碼的多種方法,包括檢查容器參數(shù)、啟動歷史、初始化腳本及用戶表,同時提供密碼重置流程以應(yīng)對忘記密碼的情況,感興趣的朋友快來跟隨小編一起學(xué)習(xí)吧

親測:

#獲取運行中鏡像?通過 NAMES 獲取鏡像名稱
docker ps
#mysql-container為容器名稱
docker inspect mysql-container | grep -i MYSQL_ROOT_PASSWORD

查看Docker環(huán)境變量設(shè)置的密碼

  • 方法一:查看容器的運行參數(shù)
    在Linux系統(tǒng)下,可以使用docker inspect命令獲取容器的詳細信息,其中包括環(huán)境變量的設(shè)置。假設(shè)你的MySQL容器名稱是mysql-container,執(zhí)行以下命令:
docker inspect mysql-container

命令執(zhí)行后會輸出大量JSON格式的信息,你可以通過搜索關(guān)鍵詞(如MYSQL_ROOT_PASSWORD )來查找密碼相關(guān)的設(shè)置。也可以結(jié)合grep命令簡化輸出,比如:

docker inspect mysql-container | grep -i MYSQL_ROOT_PASSWORD

-i參數(shù)表示不區(qū)分大小寫搜索,這樣能快速定位到包含MYSQL_ROOT_PASSWORD的行,查看設(shè)置的密碼。

  • 方法二:查看容器啟動歷史記錄
    如果你是在本地終端啟動的Docker容器,那么可以使用history命令查看歷史執(zhí)行過的命令。例如:
history | grep docker run

找到啟動MySQL容器的那行命令,查看是否通過-e參數(shù)設(shè)置了MYSQL_ROOT_PASSWORD等環(huán)境變量,進而獲取到設(shè)置的密碼 。不過這種方式只適用于你沒有清理過命令歷史記錄的情況。

查看docker-entrypoint-initdb.d里SQL文件中的密碼設(shè)置

  • 進入容器查看相關(guān)目錄
    首先使用docker exec命令進入MySQL容器,假設(shè)容器名稱是mysql-container,執(zhí)行:
docker exec -it mysql-container bash

進入容器后,導(dǎo)航到docker-entrypoint-initdb.d目錄,使用ls命令列出該目錄下的文件:

ls /docker-entrypoint-initdb.d

然后使用文本編輯器(如vimcat命令 )查看具體的SQL文件內(nèi)容。比如,文件名為init-user-db.sql ,可以用以下方式查看:

cat /docker-entrypoint-initdb.d/init-user-db.sql

或者使用vim進行編輯查看:

vim /docker-entrypoint-initdb.d/init-user-db.sql

在SQL文件中查找創(chuàng)建用戶和設(shè)置密碼的相關(guān)語句,常見的設(shè)置密碼語句如:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

或者

ALTER USER 'username'@'host' IDENTIFIED BY 'password';

找到這些語句就能獲取到設(shè)置的密碼信息。

在MySQL容器中,無法直接從配置文件里獲取明文密碼,因為從MySQL 5.7版本開始,密碼以加密形式存儲在系統(tǒng)庫中 。不過,可以通過以下方式間接查看相關(guān)信息或重置密碼:

查看MySQL用戶表(加密密碼存儲處)

  1. 登錄MySQL:在容器內(nèi)的命令行,執(zhí)行登錄命令:
mysql -uroot -p

如果設(shè)置了root密碼,按提示輸入密碼回車登錄 。要是不知道root密碼,可嘗試后續(xù)重置密碼的方法。
2. 查看用戶表:登錄成功后,執(zhí)行以下SQL語句:

USE mysql;
SELECT user, host, authentication_string FROM user;

authentication_string 字段存儲的是加密后的密碼,但無法直接還原為明文。

查找可能的配置文件(不一定有密碼信息)

雖然通常無法從中獲取明文密碼,但還是可以檢查下常見的配置文件,看看是否有相關(guān)線索:

  • MySQL配置文件:路徑可能是 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf ,使用文本編輯器(如 vim )打開查看:
vim /etc/mysql/my.cnf

這些文件主要用于配置MySQL的運行參數(shù),比如端口、字符集、緩存等,不一定包含密碼信息。

  • 容器初始化腳本:像 docker-entrypoint-initdb.d 目錄下的腳本文件,可能會有創(chuàng)建用戶、設(shè)置密碼等相關(guān)操作,你可以使用 ls 命令查看該目錄下的文件:
ls /docker-entrypoint-initdb.d

然后用文本編輯器打開查看內(nèi)容(如 vim 文件名 ),不過也可能經(jīng)過加密處理或使用環(huán)境變量設(shè)置密碼 。

重置密碼

如果忘記密碼,可按以下步驟重置:

  1. 停止MySQL服務(wù)
    根據(jù)MySQL服務(wù)管理方式,執(zhí)行相應(yīng)停止命令:
  • 若使用 service 管理:
service mysql stop
  • 若使用 systemctl 管理:
systemctl stop mysql
  1. 以特殊模式啟動MySQL
    在容器外,先停止MySQL容器:
docker stop mysql-container

再重新啟動容器并掛載配置文件目錄,進入容器后編輯MySQL配置文件,在 [mysqld] 配置段添加 skip-grant-tables 以跳過權(quán)限驗證。
3. 登錄并修改密碼
再次進入容器,此時無需密碼即可登錄MySQL:

mysql

登錄后執(zhí)行SQL語句重置密碼(假設(shè)新密碼為 new_root_password ):

USE mysql;
UPDATE user SET authentication_string = PASSWORD('new_root_password') WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;
  1. 恢復(fù)正常模式
    刪除配置文件中添加的 skip-grant-tables ,重啟MySQL容器:
docker restart mysql-container

之后就能用新密碼登錄 。

1. 登錄MySQL

在當(dāng)前容器內(nèi)的命令行中, 執(zhí)行以下命令登錄MySQL :

mysql -uroot -p

如果MySQL的root用戶設(shè)置了密碼,系統(tǒng)會提示輸入密碼,輸入正確密碼后回車即可登錄。
要是不知道root密碼,先跳過此步驟,嘗試后續(xù)重置密碼的方法。

2. 查詢賬號信息(已登錄MySQL的情況下)

成功登錄MySQL后,執(zhí)行以下SQL語句:

USE mysql;
SELECT user, host FROM user;

上述SQL語句會列出當(dāng)前MySQL實例中的所有用戶賬號,以及這些賬號允許登錄的主機。

3. 重置密碼(忘記root密碼時)

停止MySQL服務(wù)

在容器內(nèi),根據(jù)MySQL服務(wù)的管理方式,執(zhí)行相應(yīng)的停止命令:

  • 若使用 service 管理:
service mysql stop
  • 若使用 systemctl 管理:
systemctl stop mysql

以特殊模式啟動MySQL

在容器外,先停止當(dāng)前MySQL容器:

docker stop xfyun-mysql-container

接著重新啟動容器,并掛載MySQL的配置文件目錄(具體掛載方式因鏡像而異)。進入容器后,編輯MySQL的配置文件(常見路徑有 /etc/mysql/my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf ) ,在 [mysqld] 配置段下添加 skip-grant-tables ,用于跳過權(quán)限驗證。

登錄MySQL并修改密碼

再次進入容器,此時無需密碼即可登錄MySQL:

mysql

登錄后,執(zhí)行以下SQL語句重置root密碼(假設(shè)新密碼為 new_root_password ):

USE mysql;
UPDATE user SET authentication_string = PASSWORD('new_root_password') WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;

恢復(fù)正常模式

修改完密碼后,刪除配置文件中添加的 skip-grant-tables ,然后重啟MySQL容器:

docker restart xfyun-mysql-container

之后就可以使用新設(shè)置的密碼登錄MySQL 。

4. 查看或修改其他用戶密碼(已登錄MySQL且有足夠權(quán)限)

如果想查看其他用戶的信息,可通過之前的 SELECT user, host FROM user; 語句 。
若要修改其他用戶的密碼,比如將 testuser 用戶的密碼修改為 newpassword ,執(zhí)行以下SQL語句:

ALTER USER 'testuser'@'localhost' IDENTIFIED BY 'newpassword';
FLUSH PRIVILEGES;

testuserlocalhost 根據(jù)實際情況替換 。

到此這篇關(guān)于docker如何獲取mysql的賬號密碼的文章就介紹到這了,更多相關(guān)docker mysql賬號密碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • maven構(gòu)建docker鏡像push到鏡像倉庫方式

    maven構(gòu)建docker鏡像push到鏡像倉庫方式

    這篇文章主要介紹了maven構(gòu)建docker鏡像push到鏡像倉庫方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • keepalived+nginx+httpd實現(xiàn)的雙機熱備+負載均衡

    keepalived+nginx+httpd實現(xiàn)的雙機熱備+負載均衡

    本文主要介紹了keepalived + nginx + httpd 實現(xiàn)的雙機熱備+負載均衡,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • Docker-利用dockerfile來搭建tomcat服務(wù)的方法

    Docker-利用dockerfile來搭建tomcat服務(wù)的方法

    這篇文章主要介紹了Docker-利用dockerfile來搭建tomcat服務(wù)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • docker中nginx的默認路徑位置和映射目錄啟動方式

    docker中nginx的默認路徑位置和映射目錄啟動方式

    這篇文章主要介紹了docker中nginx的默認路徑位置和映射目錄啟動方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • docker-compose部署kafka全過程

    docker-compose部署kafka全過程

    文章介紹了如何使用docker-compose.yaml文件啟動容器,并查看和創(chuàng)建Kafka topic,以及監(jiān)控topic下的數(shù)據(jù),作者分享了個人經(jīng)驗,希望對大家有所幫助
    2024-12-12
  • Docker中的文件/文件夾的掛載映射方式

    Docker中的文件/文件夾的掛載映射方式

    通過命令行在宿主機與Docker容器間掛載和映射文件夾,實現(xiàn)數(shù)據(jù)共享,具體步驟包括:在宿主機創(chuàng)建文件夾并使用Docker命令將其掛載到容器指定位置,需注意容器名稱與ID的使用差異
    2024-11-11
  • 基于docker的redis集群的搭建方式

    基于docker的redis集群的搭建方式

    這篇文章主要介紹了基于docker的redis集群的搭建方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 容器管理工具?Rancher的安裝與使用

    容器管理工具?Rancher的安裝與使用

    這篇文章主要介紹了容器管理工具?Rancher的安裝與使用,通過本文學(xué)習(xí)可以掌握基于Rancher的應(yīng)用部署、擴容縮容操作,本文實例圖文相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2022-08-08
  • Docker-Compose的使用示例詳解

    Docker-Compose的使用示例詳解

    docker-compose是用來在Docker中定義和運行復(fù)雜應(yīng)用的工具,比如在一個yum文件里定義多個容器,只用一行命令就可以讓一切就緒并運行。下面通過示例給大家介紹Docker-Compose的使用,感興趣的朋友一起看看吧
    2017-07-07
  • centos修改docker網(wǎng)絡(luò)配置方法分享

    centos修改docker網(wǎng)絡(luò)配置方法分享

    本文給大家分享的是centos修改docker網(wǎng)絡(luò)配置的方法,非常的實用,有需要的小伙伴可以參考下
    2017-03-03

最新評論

辽宁省| 晋宁县| 安塞县| 黄骅市| 台北市| 崇明县| 武隆县| 定远县| 田东县| 资兴市| 洮南市| 徐州市| 陕西省| 古浪县| 临沧市| 山东省| 固安县| 汝南县| 关岭| 太和县| 绥阳县| 浮梁县| 土默特右旗| 佛坪县| 永德县| 芮城县| 宾阳县| 铜鼓县| 永靖县| 万荣县| 滨海县| 漳州市| 房产| 瑞丽市| 巴林右旗| 威远县| 襄汾县| 崇左市| 兴安县| 章丘市| 阜宁县|