Docker部署Mysql數(shù)據(jù)庫(kù)的詳細(xì)步驟
一、使用 docker 拉取 mysql 鏡像
使用docker默認(rèn)鏡像源
docker pull mysql:5.7 // 拉取指定版本,5.7 版本相對(duì)穩(wěn)定 docker pull mysql // 拉取最新版本
使用指定鏡像倉(cāng)庫(kù)拉取
// 假設(shè)可用鏡像源地址為 "https://dockerpull.org" docker pull dockerpull.org/mysql:5.7 // 拉取指定倉(cāng)庫(kù)的指定版本
使用國(guó)內(nèi)鏡像倉(cāng)庫(kù)
// 當(dāng)前國(guó)內(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"
]
}
打開(kāi) docker 鏡像源配置文件
sudo nano /etc/docker/daemon.json // 進(jìn)入 nano 的編輯界面。如果文件不存在,nano 會(huì)自動(dòng)創(chuàng)建 // 將上方鏡像源地址放入 "registry-mirrors" 下 // 若沒(méi)有 "registry-mirrors",則將上述 "registry-mirrors" 模塊全部放入 // 完成編輯后,按下 Ctrl + X 組合鍵,此時(shí)會(huì)提示是否保存修改,按下 Y 鍵表示保存, // 然后按下回車鍵確認(rèn)文件名,即可保存修改并退出 nano 編輯器
重啟 docker
sudo systemctl restart docker // 重啟 docker sudo systemctl status docker // 檢查是否已重啟,如果服務(wù)狀態(tài)顯示為 active (running),則表示 Docker 服務(wù)已成功重啟
二、部署數(shù)據(jù)庫(kù)鏡像
使用 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,即通過(guò)云端9096端口訪問(wèn)數(shù)據(jù)庫(kù),容器內(nèi)數(shù)據(jù)庫(kù)端口設(shè)置為3306 -p 9096:3306 --name taichu // 容器名稱 -v /opt/taichu/mysql/conf/my.cnf:/etc/mysql/my.cnf // 掛載數(shù)據(jù)庫(kù)配置文件目錄 -v /opt/taichu/mysql/logs:/log // 掛載數(shù)據(jù)庫(kù)log文件目錄 -v /opt/taichu/mysql/data:/mysql_data // 掛載數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)目錄 -e MYSQL_ROOT_PASSWORD=123456 // 設(shè)置 root 用戶密碼 -d // 讓容器以守護(hù)進(jìn)程模式在后臺(tái)運(yùn)行 Id // mysql 鏡像 id,可僅輸入前 2-3 位,通過(guò) docker images 命令查詢所有鏡像
修改容器時(shí)區(qū)
docker exec -it 容器名或容器Id /bin/bash // 進(jìn)入容器內(nèi)部,Id 可只輸入前 2-3 位 // 修改時(shí)區(qū) rm /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime exit // 退出容器內(nèi)部 docker restart Id // 重新啟動(dòng)該容器,Id 可只輸入前 2-3 位
導(dǎo)入數(shù)據(jù)
通過(guò) mysql 可視化工具連接至云端此數(shù)據(jù)庫(kù),端口號(hào)為上方映射端口,賬號(hào) root,密碼為上方設(shè)定密碼。

任意可視化工具均可。連接后導(dǎo)入數(shù)據(jù)。
容器內(nèi)部導(dǎo)入
假設(shè)文件名為 data.sql,且存放在 /opt/taichu/ 目錄下 1. 拷貝至容器內(nèi)部(方法1) docker exec -it 容器名或容器Id /bin/bash // 進(jìn)入容器內(nèi)部,Id 可只輸入前 2-3 位 // 將數(shù)據(jù)文件拷貝至容器內(nèi)部,taichu - 容器名稱 docker cp /opt/taichu/data.sql taichu:/tmp/data.sql mysql -u root -p // 進(jìn)入 mysql,輸入密碼 create database test; // 創(chuàng)建數(shù)據(jù)庫(kù),若sql文件包含創(chuàng)建語(yǔ)句則跳過(guò) use test; // 使用數(shù)據(jù)庫(kù) test source /tmp/data.sql; // 導(dǎo)入數(shù)據(jù) exit; // 退出數(shù)據(jù)庫(kù) exit // 退出容器 2. 直接執(zhí)行(方法2) docker exec -i Id mysql -u root -p password < /opt/taichu/data.sql // Id :容器 Id 或名稱 // password :數(shù)據(jù)庫(kù) root用戶的 密碼
總結(jié)
到此這篇關(guān)于Docker部署Mysql數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)Docker部署Mysql數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SQL Server 完整備份遇到的一個(gè)不常見(jiàn)的錯(cuò)誤及解決方法
這篇文章給大家介紹了SQL Server 完整備份遇到的一個(gè)不常見(jiàn)的錯(cuò)誤及解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-05-05
MySQL數(shù)據(jù)庫(kù)高級(jí)查詢和多表查詢
這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)高級(jí)查詢和多表查詢,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
mysql基于正則實(shí)現(xiàn)模糊替換字符串的方法分析
這篇文章主要介紹了mysql基于正則實(shí)現(xiàn)模糊替換字符串的方法,結(jié)合具體實(shí)例對(duì)比分析了使用正則實(shí)現(xiàn)mysql字符串替換的注意事項(xiàng)與相關(guān)操作技巧,需要的朋友可以參考下2017-03-03
千萬(wàn)級(jí)用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享
這篇文章主要介紹了千萬(wàn)級(jí)用戶系統(tǒng)SQL調(diào)優(yōu)實(shí)戰(zhàn)分享,用戶日活百萬(wàn)級(jí),注冊(cè)用戶千萬(wàn)級(jí),而且若還沒(méi)有進(jìn)行分庫(kù)分表,則該DB里的用戶表可能就一張,單表上千萬(wàn)的用戶數(shù)據(jù),下面我們就來(lái)學(xué)習(xí)如何讓優(yōu)化,需要的朋友可以參考一下2022-03-03
在數(shù)據(jù)庫(kù)里將毫秒轉(zhuǎn)換成date格式的方法
經(jīng)常會(huì)將日期時(shí)間的毫秒數(shù)存放到數(shù)據(jù)庫(kù),但是它對(duì)應(yīng)的時(shí)間看起來(lái)就十分不方便,可以使用一些函數(shù)將毫秒轉(zhuǎn)換成date格式2014-05-05

