Docker部署Mysql數(shù)據(jù)庫的詳細(xì)步驟
一、使用 docker 拉取 mysql 鏡像
使用docker默認(rèn)鏡像源
docker pull mysql:5.7 // 拉取指定版本,5.7 版本相對穩(wěn)定 docker pull mysql // 拉取最新版本
使用指定鏡像倉庫拉取
// 假設(shè)可用鏡像源地址為 "https://dockerpull.org" docker pull dockerpull.org/mysql:5.7 // 拉取指定倉庫的指定版本
使用國內(nèi)鏡像倉庫
// 當(dāng)前國內(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 // 進(jìn)入 nano 的編輯界面。如果文件不存在,nano 會自動創(chuàng)建 // 將上方鏡像源地址放入 "registry-mirrors" 下 // 若沒有 "registry-mirrors",則將上述 "registry-mirrors" 模塊全部放入 // 完成編輯后,按下 Ctrl + X 組合鍵,此時(shí)會提示是否保存修改,按下 Y 鍵表示保存, // 然后按下回車鍵確認(rèn)文件名,即可保存修改并退出 nano 編輯器
重啟 docker
sudo systemctl restart docker // 重啟 docker sudo systemctl status docker // 檢查是否已重啟,如果服務(wù)狀態(tài)顯示為 active (running),則表示 Docker 服務(wù)已成功重啟
二、部署數(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ù)庫端口設(shè)置為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 // 設(shè)置 root 用戶密碼 -d // 讓容器以守護(hù)進(jìn)程模式在后臺運(yùn)行 Id // mysql 鏡像 id,可僅輸入前 2-3 位,通過 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 // 重新啟動該容器,Id 可只輸入前 2-3 位
導(dǎo)入數(shù)據(jù)
通過 mysql 可視化工具連接至云端此數(shù)據(jù)庫,端口號為上方映射端口,賬號 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ù)庫,若sql文件包含創(chuàng)建語句則跳過 use test; // 使用數(shù)據(jù)庫 test source /tmp/data.sql; // 導(dǎo)入數(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用戶的 密碼
總結(jié)
到此這篇關(guān)于Docker部署Mysql數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)Docker部署Mysql數(shù)據(jù)庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何解決mysql的count()函數(shù)條件表達(dá)式不生效問題
該文章總結(jié)了SQL查詢中`count`函數(shù)統(tǒng)計(jì)錯(cuò)誤的原因,以及三種解決方法:使用`ornull`方法、`IF()`函數(shù)和`casewhen`表達(dá)式,當(dāng)不滿足條件時(shí),表達(dá)式的值為NULL2024-11-11mysql觸發(fā)器實(shí)時(shí)檢測一條語句進(jìn)行備份刪除思路詳解
遇到過這樣一個(gè)需求,在一張表里會不時(shí)出現(xiàn) “違規(guī)” 字樣的字段,需要在出現(xiàn)這個(gè)字段的時(shí)候,把整行的數(shù)據(jù)刪掉,針對這個(gè)需求我們該如何操作呢,下面跟隨小編看下mysql觸發(fā)器實(shí)時(shí)檢測一條語句進(jìn)行備份刪除的解決思路,一起看看吧2021-09-09使用MySQL實(shí)現(xiàn)一個(gè)分布式鎖
在分布式系統(tǒng)中,分布鎖是一個(gè)最基礎(chǔ)的工具類。這篇文章主要介紹了用MySQL實(shí)現(xiàn)一個(gè)分布式鎖,本文通過實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12sql查詢語句教程之插入、更新和刪除數(shù)據(jù)實(shí)例
如果要在程序運(yùn)行過程中操作數(shù)據(jù)庫中的數(shù)據(jù),那得先學(xué)會使用SQL語句,下面這篇文章主要給大家介紹了關(guān)于sql查詢語句教程之插入、更新和刪除數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06MySQL異?;謴?fù)之無主鍵情況下innodb數(shù)據(jù)恢復(fù)的方法
這篇文章主要介紹了MySQL異?;謴?fù)之無主鍵情況下innodb數(shù)據(jù)恢復(fù)的方法,結(jié)合實(shí)例形式分析了針對innodb引擎無主鍵的情況下恢復(fù)數(shù)據(jù)的步驟與相關(guān)技巧,需要的朋友可以參考下2016-04-04Mysql添加用戶和設(shè)置權(quán)限的操作方法
這篇文章主要介紹了Mysql添加用戶和設(shè)置權(quán)限的操作方法,主要包括管理用戶,權(quán)限控制的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07MySQL中g(shù)roup_concat函數(shù)深入理解
本文通過實(shí)例介紹了MySQL中的group_concat函數(shù)的使用方法,需要的朋友可以適當(dāng)參考下2012-11-11