mysql鏡像創建docker容器,及其可能遇到的問題

前提,已經弄好基本的docker服務了。

一、基本流程

1、目錄準備

我自己的資料喜歡放在 /data 目錄下,所以老規矩:

先進入 /data 目錄:

cd /data

創建 mysql 目錄:

mkdir mysql

2、鏡像查找

docker search hub.rat.dev/mysql:8.0.27

3、鏡像拉取

docker pull?hub.rat.dev/mysql:8.0.27

4、創建容器

docker run -id \
-p 3306:3306 \
--name=mysql?\
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=151128 \
hub.rat.dev/mysql:8.0.27

5、查看容器

docker ps

二、各類問題合集

1、【解決】mysql鏡像拉取出現網絡錯誤

鏡像加速器參照(下面的連接會不斷更新國內能夠使用的Docker鏡像源,可以自己看看,自己的服務器可以用哪一個或者哪幾個):

國內能用的Docker鏡像源【2025最新持續更新】_docker 鏡像-CSDN博客

有哪些可以用的鏡像加速器、具體怎么使用,參照上文即可。

2、【解決】caching sha2 password

(1)背景

docker容器使用的mysql鏡像是9版本。

我電腦安裝的navicat是16,同事應該是12及以下的版本。

我的電腦用navicat連接遠程服務器的mysql,沒有問題。但同事的不可以,會報錯。

顯示:Authentication plugin 'caching sha2 password' cannot be loaded

(2)原因

在使用 MySQL 8 及以上版本時,默認的加密方式是?caching_sha2_password,而在 MySQL 8 之前的版本中,默認的加密方式是?mysql_native_password。因此,當使用一些舊版本的客戶端(如 Navicat Premium 12)連接 MySQL 數據庫時,可能會出現?Authentication plugin 'caching_sha2_password' cannot be loaded?的錯誤。

(3)解決思路

更換一下加密方式,參照網絡文檔(直接走這個文檔,mysql鏡像版本太高的話,會報錯):

navicat連接MySQL8.0提示caching_sha2_password問題解決方法-CSDN博客

報錯信息:

ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded

(4)【解決】mysql_native_password is not loaded

檢查了一下,發現是mysql鏡像太高了,到9了。

查看mysql鏡像版本:打開與數據庫的連接,不需要引用表,直接輸入查詢語句。

SELECT VERSION();

具體操作見 3。

3、更換mysql鏡像

那么,現在需要把mysql鏡像的版本降下來。

(1)備份數據!!!

(2)備份數據!!!

(3)備份數據!!!

把所有數據庫表的轉儲成sql下來,轉儲的時候千萬把數據一起轉儲出來,別只轉儲了表結構。

記錄所有數據庫表的名稱、字符集、排序規則。等一下要還原回去的。

(4)停止mysql容器

docker stop mysql

(5)mysql數據文件夾

cd /data
mv mysql mysql.bak

將mysql對應的數據文件夾進行重命名,后期如果創建失敗,能夠把文件夾重新還原回去。

(6)創建mysql容器

參照一、基本流程進行

(7)進入mysql容器內部

docker exec -it mysql /bin/bash

需要注意:如果剛剛stop的容器叫mysql,又沒有刪除。那么這次創建的容器就不能夠叫mysql,可以改成 mysql_3306 或者其他。

(8)打開mysql

mysql -uroot -p

回車后輸入密碼即可。

或者-p后面直接帶上密碼,然后回車。

(9)跟著文檔走一次

navicat連接MySQL8.0提示caching_sha2_password問題解決方法-CSDN博客

(10)用navicat連接mysql

應該就可以了。

(11)數據還原

依次:建數據庫 - 按照名稱、字符集、排序進行回填 - 運行轉儲的sql文件

(12)碎碎念

本來不想這么麻煩的,有別的方式可以解決報錯:

ERROR 1524 (HY000): Plugin 'mysql_native_password' is not loaded

參考文檔(寫得非常清晰,鼓掌):

ERROR 1524 (HY000): Plugin ‘mysql_native_password‘ is not loaded-CSDN博客

但是我弄的這個鏡像,什么命令都沒有:vim、yum、apk、apt-get、dnf、apt、wegt.......

倒是rpm、curl、mv可以用,通過curl下載下來的rpm包,rpm -ivh又一直報錯。

查了一下 /etc/os-release,是Oracle Linux Server。

我直接訪問:

Oracle Linux 7 (x86_64) Latest | Oracle, Software. Hardware. Complete.

一看,n個包,嘗試手動下載,初略下載了幾個,然后通過docker創建容器映射的目錄方式,遷移到容器內部。然后開始擺爛。

你依賴我,我依賴它的,啊啊啊啊。不下載了。

想了想,也不是非要去改my.cnf。但是同事又連不上mysql,如果不通過升級navicat的版本的方式,就只能去降mysql鏡像版本了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/75025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/75025.shtml
英文地址,請注明出處:http://en.pswp.cn/web/75025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

快速記憶法,提高知識點背誦效率

戰國七雄:齊秦 韓趙魏 燕楚 諧音記憶:齊秦 喊趙薇 演出 五等爵位:公侯 伯子 男 記憶方法:公猴 脖子 藍 安卓應用:記憶宮殿APP 記憶 腦力訓練,中小學各學科知識點速記,單詞趣味記憶&#xff0c…

從零開始學java--泛型(1)

泛型 學生成績可能是數字類型,也可能是字符串類型,如何存放可能出現的兩種類型呢: public class Score {String name;String id;Object value; //因為Object是所有類型的父類,因此既可以存放Integer也能存放Stringpublic Score…

pdf轉latex

Doc2X(https://doc2x.noedgeai.com/) Doc2X 是一個由 NoEdgeAI 提供的在線工具,主要用于將 PDF 文件(尤其是學術論文、報告等文檔)轉換為 LaTeX 格式。LaTeX 是一種高質量排版系統,廣泛應用于學術界和出版…

Visual Studio 2022 UI機器學習訓練模塊

VS你還是太超標了,現在機器學習都不用寫代碼了嗎!! 右鍵項目解決方案,選擇機器學習模型

無公網實體服務器加裝多個操作系統供多個用戶互不打擾使用_part1

背景介紹 因筆者業務需求,入手了一個實體服務器,但為了避免出現在一個操作系統中搭建編程環境后有許多相關的進程和服務,拖慢日常的使用,也能讓其他人短期使用,更好的利用服務器的性能,讓服務器專注于“什…

運動規劃實戰案例 | 基于四叉樹分解的路徑規劃(附ROS C++/Python仿真)

目錄 1 為什么需要四叉樹?2 基于四叉樹的路徑規劃2.1 分層抽象2.2 路圖搜索2.3 動態剪枝 3 算法仿真3.1 ROS C算法仿真3.2 Python算法仿真 1 為什么需要四叉樹? 路徑規劃的本質是在給定環境中尋找從起點到終點的最優或可行路徑,其核心挑戰在…

docker快捷打包腳本(ai版)

直接進入主題: 用這個腳本前提是你本地可以拉鏡像倉庫的鏡像,并且在 本地有了,然后將所有的鏡像tag寫在一個文件中,和下面docker_tags.txt 對應,文件叫什么,腳本里對應改什么,給小白說的 #!/bi…

WinMerge下載及使用教程(附安裝包)

文章目錄 一、WinMerge安裝步驟1.WinMerge下載:2.解壓:3.啟動: 二、WinMerge使用步驟1.添加文件或文件夾2.查看差異3.格式選擇 WinMerge v2.16.36 是一款免費開源的文件與文件夾比較、合并工具,能幫您快速找出差異,提高…

Jmeter性能測試之生成測試報告

結構 測試計劃 測試計劃是頂級的層級?錄的結構, 那么在這樣的?錄結構中,??可以包含很多線程組 線程組 線程組我們可以簡單的理解為postman測試?具??的collection,那么在整體線程組??,可以添加很多的測試 ?例 簡單控…

CSS中的inline-flex與flex的區別

在CSS中,flex 和 inline-flex 都是用于實現彈性布局(Flexbox)的顯示屬性,但它們在布局行為上有所不同。 flex 屬性會使元素表現為塊級彈性容器,這意味著元素會在頁面上占據一整行的空間,無論其內部內容的大…

Linux的那些基礎常用命令匯總

目錄 前言: 用戶命令: 管理后臺作業命令: 文件目錄操作命令: 運維高頻使用命令: 磁盤管理以及文件系統命令: 用戶、組操作命令: 權限控制命令: 網絡配置命令: 軟件管理命令…

高效深度學習lecture03

lecture_03 **剪枝:**pruning basically turns a dense neural network into a sparse neural network. you can remove those redundant synapses, and also you can remove those redundant neurons. 剪枝的本質上是將稠密的神經網絡轉變成稀疏的神經網絡&#…

Nextjs15 實戰 - React Notes 項目初始化

current branch 對應如下文檔 redis ioredis 本專欄內容均可在Github:notes_01 找到 一、效果 完整項目使用技術棧: Nextjs15 MySQL Redis Auth Prisma i18n strapi Docker vercel 二、修改根布局和其他頁面 修改 app/page.tsx&#xff1a…

Flutter PopupMenuButton 深度解析:從入門到架構級實戰

在移動應用交互設計中,上下文菜單如同隱形的魔法師,在有限屏幕空間中優雅地擴展操作維度。作為Flutter框架中的核心交互組件,PopupMenuButton絕非簡單的菜單觸發器,其背后蘊含著Material Design的交互哲學、聲明式UI的架構智慧以及…

C++——清明

#include <iostream> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sstream> #include <vector> #include <memory> #include <ctime>using namespace std;class Weapon; // 前置聲明class Hero{ pr…

es --- 集群數據遷移

目錄 1、需求2、工具elasticdump2.1 mac安裝問題解決 2.2 elasticdump文檔 3、遷移 1、需求 遷移部分新集群沒有的索引和數據 2、工具elasticdump Elasticdump 的工作原理是將輸入發送到輸出 。兩者都可以是 elasticsearch URL 或 File 2.1 mac安裝 前置&#xff1a;已經安裝…

鴻蒙開發_ARKTS快速入門_語法說明_組件聲明_組件手冊查看---純血鴻蒙HarmonyOS5.0工作筆記010

然后我們來看如何使用組件 可以看到組件的組成 可以看到我們使用的組件 然后看一下組件的語法.組件中可以使用子組件. 然后組件中可以有參數,來修改組件的樣式等 可以看到{},這種方式可以設置組件參數,當然在下面. 的方式也可以的 然后再來

【GEE學習筆記】報錯解決:Sentinel-2 數據集分為 L1C(大氣頂層)和 L2A(地表反射率),如何選擇波段進行去云處理?

【GEE學習筆記】報錯解決&#xff1a;Sentinel-2 數據集分為 L1C&#xff08;大氣頂層&#xff09;和 L2A&#xff08;地表反射率&#xff09;&#xff0c;如何選擇波段進行去云處理&#xff1f; 【GEE學習筆記】報錯解決&#xff1a;Sentinel-2 數據集分為 L1C&#xff08;大…

OpenVLA-OFT——微調VLA時加快推理的三大關鍵設計:支持動作分塊的并行解碼、連續動作表示以及L1回歸(含輸入靈活化及對指令遵循的加強)

前言 25年3.26日&#xff0c;這是一個值得紀念的日子&#xff0c;這一天&#xff0c;我司「七月在線」的定位正式升級為了&#xff1a;具身智能的場景落地與定制開發商 &#xff0c;后續則從定制開發 逐步過渡到 標準產品化 比如25年q2起&#xff0c;在定制開發之外&#xff0…

IDEA 使用Maven打包時內存溢出

IDEA 使用Maven打包時內存溢出 解決辦法&#xff1a; File -> settings -> Build,Excetion,Deployment-> Compiler 中添加配置“-Djps.track.ap.dependenciesfalse” 如圖&#xff1a;