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 // 拉取指定倉庫的指定版本
使用國內(nèi)鏡像倉庫
// 當前國內(nèi)可用鏡像源地址
{
"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至容器內(nèi)3306,即通過云端9096端口訪問數(shù)據(jù)庫,容器內(nèi)數(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 // 進入容器內(nèi)部,Id 可只輸入前 2-3 位 // 修改時區(qū) rm /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime exit // 退出容器內(nèi)部 docker restart Id // 重新啟動該容器,Id 可只輸入前 2-3 位
導入數(shù)據(jù)
通過 mysql 可視化工具連接至云端此數(shù)據(jù)庫,端口號為上方映射端口,賬號 root,密碼為上方設定密碼。

任意可視化工具均可。連接后導入數(shù)據(jù)。
容器內(nèi)部導入
假設文件名為 data.sql,且存放在 /opt/taichu/ 目錄下 1. 拷貝至容器內(nèi)部(方法1) docker exec -it 容器名或容器Id /bin/bash // 進入容器內(nèi)部,Id 可只輸入前 2-3 位 // 將數(shù)據(jù)文件拷貝至容器內(nèi)部,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ù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SQL Server 完整備份遇到的一個不常見的錯誤及解決方法
這篇文章給大家介紹了SQL Server 完整備份遇到的一個不常見的錯誤及解決方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧2019-05-05
千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實戰(zhàn)分享
這篇文章主要介紹了千萬級用戶系統(tǒng)SQL調(diào)優(yōu)實戰(zhàn)分享,用戶日活百萬級,注冊用戶千萬級,而且若還沒有進行分庫分表,則該DB里的用戶表可能就一張,單表上千萬的用戶數(shù)據(jù),下面我們就來學習如何讓優(yōu)化,需要的朋友可以參考一下2022-03-03
在數(shù)據(jù)庫里將毫秒轉(zhuǎn)換成date格式的方法
經(jīng)常會將日期時間的毫秒數(shù)存放到數(shù)據(jù)庫,但是它對應的時間看起來就十分不方便,可以使用一些函數(shù)將毫秒轉(zhuǎn)換成date格式2014-05-05

