Docker部署Mysql數(shù)據(jù)庫的詳細步驟
更新時間:2025年03月12日 10:10:06 作者:一竅不通小憨憨
這篇文章主要介紹了如何使用Docker拉取和部署MySQL鏡像,配置鏡像源,修改容器時區(qū),導入數(shù)據(jù),并通過可視化工具連接和管理數(shù)據(jù)庫,需要的朋友可以參考下
一、使用 docker 拉取 mysql 鏡像
使用docker默認鏡像源
docker pull mysql:5.7 // 拉取指定版本,5.7 版本相對穩(wěn)定 docker pull mysql // 拉取最新版本
使用指定鏡像倉庫拉取
// 假設可用鏡像源地址為 "https://dockerpull.org" docker pull dockerpull.org/mysql:5.7 // 拉取指定倉庫的指定版本
使用國內鏡像倉庫
// 當前國內可用鏡像源地址 { "registry-mirrors": [ "https://docker.hpcloud.cloud", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev", "https://proxy.1panel.live", "https://docker.1panel.top", "https://docker.m.daocloud.io", "https://docker.1ms.run", "https://docker.ketches.cn" ] }
打開 docker 鏡像源配置文件
sudo nano /etc/docker/daemon.json // 進入 nano 的編輯界面。如果文件不存在,nano 會自動創(chuàng)建 // 將上方鏡像源地址放入 "registry-mirrors" 下 // 若沒有 "registry-mirrors",則將上述 "registry-mirrors" 模塊全部放入 // 完成編輯后,按下 Ctrl + X 組合鍵,此時會提示是否保存修改,按下 Y 鍵表示保存, // 然后按下回車鍵確認文件名,即可保存修改并退出 nano 編輯器
重啟 docker
sudo systemctl restart docker // 重啟 docker sudo systemctl status docker // 檢查是否已重啟,如果服務狀態(tài)顯示為 active (running),則表示 Docker 服務已成功重啟
二、部署數(shù)據(jù)庫鏡像
使用 docker 命令部署
docker run -p 9096:3306 --name taichu -v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/taichu/mysql/logs:/log -v /opt/taichu/mysql/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d Id // 以上命令解釋 docker run // 映射端口9096至容器內3306,即通過云端9096端口訪問數(shù)據(jù)庫,容器內數(shù)據(jù)庫端口設置為3306 -p 9096:3306 --name taichu // 容器名稱 -v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf // 掛載數(shù)據(jù)庫配置文件目錄 -v /opt/taichu/mysql/logs:/log // 掛載數(shù)據(jù)庫log文件目錄 -v /opt/taichu/mysql/data:/mysql_data // 掛載數(shù)據(jù)庫數(shù)據(jù)存儲目錄 -e MYSQL_ROOT_PASSWORD=123456 // 設置 root 用戶密碼 -d // 讓容器以守護進程模式在后臺運行 Id // mysql 鏡像 id,可僅輸入前 2-3 位,通過 docker images 命令查詢所有鏡像
修改容器時區(qū)
docker exec -it 容器名或容器Id /bin/bash // 進入容器內部,Id 可只輸入前 2-3 位 // 修改時區(qū) rm /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime exit // 退出容器內部 docker restart Id // 重新啟動該容器,Id 可只輸入前 2-3 位
導入數(shù)據(jù)
通過 mysql 可視化工具連接至云端此數(shù)據(jù)庫,端口號為上方映射端口,賬號 root,密碼為上方設定密碼。
任意可視化工具均可。連接后導入數(shù)據(jù)。
容器內部導入
假設文件名為 data.sql,且存放在 /opt/taichu/ 目錄下 1. 拷貝至容器內部(方法1) docker exec -it 容器名或容器Id /bin/bash // 進入容器內部,Id 可只輸入前 2-3 位 // 將數(shù)據(jù)文件拷貝至容器內部,taichu - 容器名稱 docker cp /opt/taichu/data.sql taichu:/tmp/data.sql mysql -u root -p // 進入 mysql,輸入密碼 create database test; // 創(chuàng)建數(shù)據(jù)庫,若sql文件包含創(chuàng)建語句則跳過 use test; // 使用數(shù)據(jù)庫 test source /tmp/data.sql; // 導入數(shù)據(jù) exit; // 退出數(shù)據(jù)庫 exit // 退出容器 2. 直接執(zhí)行(方法2) docker exec -i Id mysql -u root -p password < /opt/taichu/data.sql // Id :容器 Id 或名稱 // password :數(shù)據(jù)庫 root用戶的 密碼
總結
到此這篇關于Docker部署Mysql數(shù)據(jù)庫的文章就介紹到這了,更多相關Docker部署Mysql數(shù)據(jù)庫內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
如何解決mysql的count()函數(shù)條件表達式不生效問題
該文章總結了SQL查詢中`count`函數(shù)統(tǒng)計錯誤的原因,以及三種解決方法:使用`ornull`方法、`IF()`函數(shù)和`casewhen`表達式,當不滿足條件時,表達式的值為NULL2024-11-11mysql觸發(fā)器實時檢測一條語句進行備份刪除思路詳解
遇到過這樣一個需求,在一張表里會不時出現(xiàn) “違規(guī)” 字樣的字段,需要在出現(xiàn)這個字段的時候,把整行的數(shù)據(jù)刪掉,針對這個需求我們該如何操作呢,下面跟隨小編看下mysql觸發(fā)器實時檢測一條語句進行備份刪除的解決思路,一起看看吧2021-09-09sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實例
如果要在程序運行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學會使用SQL語句,下面這篇文章主要給大家介紹了關于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-06-06MySQL異常恢復之無主鍵情況下innodb數(shù)據(jù)恢復的方法
這篇文章主要介紹了MySQL異?;謴椭疅o主鍵情況下innodb數(shù)據(jù)恢復的方法,結合實例形式分析了針對innodb引擎無主鍵的情況下恢復數(shù)據(jù)的步驟與相關技巧,需要的朋友可以參考下2016-04-04