Docker入門連載——(5)docker安裝mysql

安裝mysql

我們還是先看看docker這張最金典的架構圖
在這裏插入圖片描述
整個docker在使用過程中最核心的就是他的鏡像,那麼我們在用任何的軟件服務之前,我們都要把鏡像下載下來,因爲一個鏡像就是我們的一個軟件環境,如果我們想讓進行運行成軟件服務的話,就要用到我們的docker run 命令把他運行成一個容器纔可以,所以我們來試試mysql在docker中使用。

1.拉取mysql鏡像到本地

訪問docker鏡像官網(類似於maven倉庫那種) 搜索mysql
進入官方版本在這裏插入圖片描述
查看支持版本,這裏不太多
在這裏插入圖片描述

docker pull mysql:tag (tag不加默認最新版本)

在這裏插入圖片描述

2.運行mysql服務

docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:tag  						  --沒有暴露外部端口外部不能連接
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d  mysql:tag  --暴露外部端口

注意: (1)-e 後跟MYSQL_ROOT_PASSWORD常量,代表給root用戶設置密碼,參數必選,以上代表密碼爲root,不然運行失敗。(2)tag代表版本,需要與docker images中名字對應

沒有開放外部端口的情況下記得用

docker exec -it mysql bash

命令進入容器內部操作哦。
在這裏插入圖片描述
可以看到可以進入。
然後我們來暴露外部端口運行
在這裏插入圖片描述
能夠進入,我們用外部工具來測試下能不能訪問
在這裏插入圖片描述
成功訪問

3.進入mysql容器

docker exec -it 容器名稱|容器id bash

4.外部查看mysql日誌

docker logs 容器名稱|容器id

5.使用自定義配置參數

docker run  -p 3306:3306--name mysql -v /root/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:tag

6.將容器數據位置與宿主機位置掛載保證數據安全

docker run --name mysql -v /root/mysql/data:/var/lib/mysql -v /root/mysql/conf.d:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 -d mysql:tag

因爲數據是在docker容器內部

7.通過其他客戶端訪問 如Navicat等工具

8.將mysql數據庫備份爲sql文件

docker exec mysql|容器id sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --導出全部數據
docker exec mysql sh -c 'exec mysqldump --databases 庫表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --導出指定庫數據
docker exec mysql sh -c 'exec mysqldump --no-data --databases 庫表 -uroot -p"$MYSQL_ROOT_PASSWORD"' > /root/all-databases.sql  --導出指定庫數據不要數據

9.執行sql文件到mysql中

docker exec -i mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /root/xxx.sql
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章