亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker拉取MySQL8.0鏡像以及安裝的完整步驟

 更新時(shí)間:2025年02月07日 12:00:12   作者:€?掃地僧?€  
這篇文章主要介紹了如何在Docker中安裝和配置MySQL鏡像,包括數(shù)據(jù)掛載、配置文件設(shè)置、環(huán)境變量配置以及DBeaver數(shù)據(jù)庫連接的常見問題解決方法,需要的朋友可以參考下

一、docker安裝MySQL鏡像

搜索images

docker search mysql 

我配置了阿里云鏡像加速器,找不到mySQL鏡像.

由于不知道名原因很多國內(nèi)拉取鏡像都下架了docker鏡像導(dǎo)致找不到MySQL鏡像;

拉取MySQL鏡像

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0

拉取MySQL鏡像成功。

二、數(shù)據(jù)掛載

創(chuàng)建本地目錄用于掛載mysql數(shù)據(jù)和配置

mkdir -p /root/mysql/data /root/mysql/logs /root/mysql/conf

在/root/mysql/conf中創(chuàng)建 *.cnf 文件

touch my.cnf

創(chuàng)建容器,將數(shù)據(jù),日志,配置文件映射到本機(jī)

docker run -p 3306:3306 --name mysql -v /root/mysql/conf:/etc/mysql/conf.d -v /root/mysql/logs:/logs -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=yourpassword  -d swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0

  • docker run:這是創(chuàng)建新容器的 Docker 命令。
  • -p 3306:3306:這將容器內(nèi)部的 MySQL 服務(wù)端口(3306)映射到宿主機(jī)的同一端口,允許您從宿主機(jī)或其他網(wǎng)絡(luò)中的機(jī)器訪問 MySQL 服務(wù)。
  • --name mysql:這為新容器指定了一個(gè)名稱,這里是 mysql。
  • -v /root/mysql/conf:/etc/mysql/conf.d:這將宿主機(jī)上的 /root/mysql/conf 目錄掛載到容器內(nèi)部的 /etc/mysql/conf.d 目錄,用于存儲(chǔ) MySQL 配置文件。
  • -v /root/mysql/logs:/logs:這將宿主機(jī)上的 /root/mysql/logs 目錄掛載到容器內(nèi)部的 /logs 目錄,用于存儲(chǔ) MySQL 日志文件。
  • -v /root/mysql/data:/var/lib/mysql:這將宿主機(jī)上的 /root/mysql/data 目錄掛載到容器內(nèi)部的 /var/lib/mysql 目錄,用于存儲(chǔ) MySQL 數(shù)據(jù)文件。這確保了數(shù)據(jù)的持久化,即使容器被刪除,數(shù)據(jù)也不會(huì)丟失。
  • -e MYSQL_ROOT_PASSWORD=yourpassword:這設(shè)置了環(huán)境變量,用于定義 MySQL root 用戶的密碼。請確保使用一個(gè)強(qiáng)密碼來提高安全性。
  • -d swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.0:這指定了容器應(yīng)在后臺(tái)運(yùn)行,并使用指定的 MySQL 鏡像。這里的鏡像路徑指向華為云 SWR 上的 MySQL 8.0 鏡像.

檢查MySQL是否啟動(dòng)成功:

docker ps -a

三、DBeaver數(shù)據(jù)庫連接

連接DBeaver常見的報(bào)錯(cuò):

問題一、Public Key Retrieval is not allowed

問題圖片:

原因:

Public Key Retrieval is not allowed:原因是:通常出現(xiàn)在使用 SSL 連接到 MySQL 數(shù)據(jù)庫時(shí)。這個(gè)錯(cuò)誤表明 MySQL 服務(wù)器配置為要求 SSL 連接,但是客戶端(在這種情況下是 DBeaver)沒有提供正確的證書或密鑰。

處理:

找到:allowPublicKeyRetrieval驅(qū)動(dòng)屬性,把false改為true,如圖所示:

再次連接:

問題二、連接MySQL時(shí),報(bào)Access denied for user

報(bào):ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

意味著您嘗試使用MySQL的root用戶登錄,但是提供的密碼不正確,或者root用戶沒有從localhost登錄的權(quán)限。

步驟 1:確保您使用的是正確的密碼

確認(rèn)您記得的root密碼是正確的。如果您不確定密碼是否正確,您可能需要重置它。

在你保證密碼正確情況下,如果出現(xiàn)這個(gè)錯(cuò)誤,可能原因是:之前你執(zhí)行docker掛載MySQL容器,在/root/mysql/data下已經(jīng)有之前緩沖數(shù)據(jù),執(zhí)行的新docker run,由于兩次掛載MySQL容器密碼不一致,導(dǎo)致登錄不成功。

解決方案:刪除/root/mysql/data目錄下文件,執(zhí)行刪除docker掛載MySQL容器后,然后執(zhí)行docker run 掛載MySQL容器;

進(jìn)入容器中的 MySQL

docker exec -it mysql mysql -u root -p

輸入密碼:*********

步驟 2:嘗試無密碼登錄(如果root賬戶沒有設(shè)置密碼)

如果root賬戶沒有設(shè)置密碼,或者您不確定是否設(shè)置了密碼,可以嘗試無密碼登錄:

在/root/mysql/conf目錄下,打開my.cnf配置,加上:

--skip-grant-tables

這里不做過多解釋,如需詳情了解操作,各位自行百度一下;

步驟3: root用戶沒有從localhost登錄的權(quán)限

進(jìn)入容器中MySQL:

docker exec -it mysql mysql -u root -p

輸入密碼:*******,登錄到 MySQL 后,

更改密碼:

使用以下命令更改 root 用戶的密碼:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

new_password:輸入自己的密碼;

允許 root 用戶從任何 IP 地址連接:

ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';

替換 'new_password' 為您想要設(shè)置的新密碼。

刷新權(quán)限

更改密碼后,執(zhí)行以下命令使更改生效:

FLUSH PRIVILEGES;

退出 MySQL

使用以下命令退出 MySQL 客戶端:

EXIT;

測試新密碼

為了驗(yàn)證新密碼是否生效,您可以嘗試再次登錄 MySQL:

docker exec -it mysql mysql -u root -p

當(dāng)提示時(shí),輸入您新設(shè)置的密碼。

請注意,將密碼直接包含在命令行中(如 -p'new_password')可能會(huì)因?yàn)橐?hào)使用不當(dāng)而導(dǎo)致問題。通常建議在命令行中只使用 -p 參數(shù),然后在提示時(shí)輸入密碼。

使用連接MySQL工具連接服務(wù)器MySQL:

驗(yàn)證用戶身份的插件名稱

SELECT user, host, plugin FROM mysql.user

mysql_native_password:作為MySQL之前的默認(rèn)身份驗(yàn)證插件,很多老版本的客戶端和工具默認(rèn)支持這個(gè)插件。因此,對于一些舊的應(yīng)用程序和庫,mysql_native_password可能會(huì)有更好的兼容性。

caching_sha2_password:從MySQL 8.0開始,它成為了默認(rèn)的身份驗(yàn)證插件。盡管它提供了更高的安全性,但一些舊版客戶端可能不支持該插件。在這種情況下,需要更新客戶端或驅(qū)動(dòng)程序才能兼容。

四、刪除docker鏡像MySQL

查找鏡像

docker images | grep mysql

刪除鏡像

一旦您知道了要?jiǎng)h除的 MySQL 鏡像的名稱或 ID,可以使用以下命令刪除它:

docker image rm 1eba4c9bcaa8

強(qiáng)制刪除命令:docker image rm -f mysql

五、docker刪除容器

暫停正在運(yùn)行MySQL容器

docker stop 343ee69c170d

刪除MySQL容器

docker rm 343ee69c170d

注意:343ee69c170d是docker中MySQL容器ID;

總結(jié)

到此這篇關(guān)于docker拉取MySQL8.0鏡像以及安裝的文章就介紹到這了,更多相關(guān)docker拉取MySQL8.0鏡像及安裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL字符編碼設(shè)置方法

    MySQL字符編碼設(shè)置方法

    這篇文章主要介紹了MySQL字符編碼設(shè)置方法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • MySQL添加索引特點(diǎn)及優(yōu)化問題

    MySQL添加索引特點(diǎn)及優(yōu)化問題

    這篇文章主要介紹了MySQL添加索引特點(diǎn)及優(yōu)化問題,MySQL索引的建立對于MySQL的高效運(yùn)行是很重要的,索引可以大大提高M(jìn)ySQL的檢索速度,感興趣的小伙伴可以參考一下
    2022-07-07
  • MySQL數(shù)據(jù)庫給表添加索引的實(shí)現(xiàn)

    MySQL數(shù)據(jù)庫給表添加索引的實(shí)現(xiàn)

    在MySQL中,索引是用來加速數(shù)據(jù)庫查詢的一種特殊數(shù)據(jù)結(jié)構(gòu),當(dāng)我們需要查詢數(shù)據(jù)庫中某些數(shù)據(jù)的時(shí)候,如果數(shù)據(jù)庫中有索引,就可以避免全表掃描,從而提高查詢速度,本文就介紹了如何給表添加索引,感興趣的可以了解一下
    2023-08-08
  • MySQL數(shù)據(jù)庫完全卸載的方法

    MySQL數(shù)據(jù)庫完全卸載的方法

    MySQL數(shù)據(jù)庫是一款非常好用的數(shù)據(jù)庫管理系統(tǒng),但是相對來說卸載起來麻煩一些,本文就詳細(xì)的介紹有一下卸載方法,感興趣的可以了解一下
    2022-03-03
  • 新手學(xué)習(xí)MySQL索引

    新手學(xué)習(xí)MySQL索引

    如果正確合理設(shè)計(jì)并且使用索引的MySQL是一輛蘭博基尼的話,那么沒有索引的MySQL就是一個(gè)人力三輪車。通常大型網(wǎng)站單日就可能會(huì)產(chǎn)生幾十萬甚至幾百萬的數(shù)據(jù),沒有索引查詢會(huì)變的非常緩慢,下面小編來帶大家了解下索引
    2019-05-05
  • MySQL中any、some和all的用法實(shí)例

    MySQL中any、some和all的用法實(shí)例

    最近一直在練習(xí)MYSQL的多表查詢,基本上每個(gè)查詢語句我都會(huì)寫至少兩次,下面這篇文章主要給大家介紹了關(guān)于MySQL中any、some和all用法的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • MySQL將時(shí)間戳轉(zhuǎn)換為年月日格式的實(shí)現(xiàn)

    MySQL將時(shí)間戳轉(zhuǎn)換為年月日格式的實(shí)現(xiàn)

    在我們的項(xiàng)目開發(fā)過程中,經(jīng)常需要將時(shí)間戳或日期時(shí)間字段轉(zhuǎn)換為特定的格式,本文主要介紹了MySQL將時(shí)間戳轉(zhuǎn)換為年月日格式的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • mysql不是內(nèi)部命令的錯(cuò)誤解決方案

    mysql不是內(nèi)部命令的錯(cuò)誤解決方案

    在本篇內(nèi)容里小編給各位分享的是一篇關(guān)于mysql不是內(nèi)部命令的錯(cuò)誤解決方案,需要的朋友們可以學(xué)習(xí)下。
    2020-08-08
  • MySQL 隨機(jī)密碼生成代碼

    MySQL 隨機(jī)密碼生成代碼

    晚上有朋友問起,簡單的寫了一個(gè)。
    2009-09-09
  • Mysql中的DCL權(quán)限詳解

    Mysql中的DCL權(quán)限詳解

    這篇文章主要介紹了Mysql中的DCL詳解,DCL是數(shù)據(jù)控制語言,用來管理用戶、控制數(shù)據(jù)庫的訪問權(quán)限,就控制有哪些用戶可以訪問數(shù)據(jù)庫,可以訪問數(shù)據(jù)庫的哪些內(nèi)容,需要的朋友可以參考下
    2023-08-08

最新評論