1. 程式人生 > >docker 安裝 mysql 並掛載目錄

docker 安裝 mysql 並掛載目錄

歡迎轉載: 轉載請註明出處

開篇先講點廢話:

           最近忽然發現用來開發的電腦硬碟的剩餘空間越來越小.沒辦法.只能刪除一部分東西.但是突然發現很多東西其實都是自己想要留下的.糾結不已;所以準備把自己的mysql本地服務幹掉.但有時候又會用到;所以準備將我的mysql 安裝到我的虛擬機器上;

看到這裡是不是有些人會想到.你按到你的虛擬機器中就不會佔用磁碟了麼.其實本人的虛擬機器是安裝到行動硬碟上的.所以是即插即用的.即使回家不帶電腦依然可以有mysql服務.redis服務,電腦只需要配置JDK基本上就可以進行後端開發了,

OK.廢話就到這裡.開始幹正事

至於Linux Centos 的安裝我就不做記錄了;只要你有個映象掛載就可以了;

本人使用的是centos 7.5 

首先.在我們的電腦上安裝docker

yum  search docker

yum install docker  
# 中途安裝過程中停下了.看到提示Y/N 的就輸入 Y
# 剩下的就是耐心的等待了

OK 安裝好Docker後;

# 啟動docker服務
systemctl start docker.service
# 開機啟動docker
systemctl enable docker.service

docker search mysql

# 提一下.安裝的時候我選擇是5.7的版本.穩定好用.不收費 
docker pull docker.io/mysql:5.7 

# 等待映象拉取成功

# 映象拉取下來之後 
docker images
# 檢視映象 

# 下面開始建立自己要掛載的目錄資料夾
# 本人喜歡把自己安裝的東西放在opt 目錄下面

# 到指定目錄
cd /opt 
# 級聯建立目錄
mkdir -p  docker/mysql/data  docker/mysql/conf
# 進入本地配置資料夾
cd /opt/docker/mysql/conf
# 建立配置檔案
touch my.cnf
# 填寫自己的mysql配置
vi my.cnf
# 我的配置.通常都是字符集與埠的配置,喜歡怎麼配置可以自己配.也可以直接使用我的
[client]     
port=3306   
default-character-set=utf8
[mysql]   
default-character-set=utf8
[mysqld]
default-character-set = utf8
character_set_server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

# OK 最重要的一步 
cd /opt
# 為我們的掛載目錄賦予許可權  很重要真的很重要.以後不論你們做什麼映象.凡是掛載目錄切記要為目錄賦予許可權
# 否則.執行映象後會發現statu 狀態為exited
chmod -R 777 mysql

#-----------------------------------------------------------------------#
# 執行並掛載目錄
docker run -it --name ocpmysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root --privileged=true -v /opt/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /opt/docker/mysql/data:/var/lib/mysql -v /opt/docker/mysql/logs:/var/log/mysql -d --restart=always mysql:5.7 

# 引數解釋
-- name  為你執行的映象命名
-p 對映埠  docker埠 : 虛擬機器埠 
-e 為mysql設定密碼
-- privileged=true 為mysql獲取root許可權
-v 掛載目錄/檔案   虛擬機器目錄/檔案:docker目錄/檔案
-d 守護程序後臺執行
-it 啟動並執行
--restart=always  在docker服務重啟後,自動重啟mysql服務,也可以吧docker 服務作為開機啟動.這樣mysql就可以跟著開機啟動了
mysql:5.7  映象名稱:tag

# 跟著一步一步的弄下來一般不會出錯
# 當映象執行起來後.先不要急著從外部連線.還有一步很重要
# 那就是開通埠
# 檢視那些埠已經開通
 firewall-cmd --list-ports
# 開通埠
 firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重啟防火牆
 firewall-cmd --reload
# 檢視埠是否開啟成功
 firewall-cmd --zone=public --query-port=3306/tcp
# 埠開啟成功
使用native 或者 SQLyog進行連線

這是我連線後.自己匯入了一部分資料庫.

因為這是我昨天安裝後寫的總結;如果大家按照我的部落格在安裝過程中有什麼問題.可以留言.或者傳送郵件到我的郵箱

我的郵箱:[email protected]