作者的話
各大雲服務商的雲數據庫價格都是非常昂貴的,如果我們想搭建自己的雲數據庫從而減少成本,該怎麼辦呢?我們可以使用雲服務器來實現,有兩種方法,一種是直接在雲服務器(linux版)上裝linux版本的mysql,另一種就是在docke裏通過拉取鏡像創建自己的mysql容器,其優點就是能創建多臺mysql容器,直接在雲服務裏上裝mysql,只能裝一臺雲數據庫。
準備工作
技術:docker知識 linux命令
工具:navicat mysql數據庫 雲主機ESC
環境:centos 7
代碼實現
1.查看是否已經安裝mysql的鏡像
使用 docker images 查看安裝的鏡像,若是沒有,通過 docker pull (鏡像源) 拉去一個mysql的鏡像
[root@instance-ojtpkg09 root]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos/mysql-57-centos7 latest f83a2938370c 6 weeks ago 452MB
2.查看docker容器裏的運行狀態
通過docker ps查看dockers裏的容器狀態,docker ps顯示status 已經掛起up的容器。docker ps -a 顯示狀態在exiit的容器,刪除容器,docker rm CONTAINER ID,示例:docker rm 0b
[root@instance-ojtpkg09 root]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0b71daef059c centos/mysql-57-centos7 "container-entrypoin…" 4 weeks ago Up 13 days 0.0.0.0:3307->3306/tcp mysql02
3.docker啓動運行mysql鏡像
docker run -p 3308:3306 --name mysql03 -e MYSQL_ROOT_PASSWORD=123456 -d centos/mysql-57-centos7
-p表示端口 映射
–name :給你的容器命名
-e MYSQL_ROOT_PASSWORD=123456 : 設置參數
-d 後臺執行
映射注意不能寫成3306:3306,可能會與你本機上的3306起衝突導致
[root@instance-ojtpkg09 root]# docker run -p 3308:3306 --name mysql03 -e MYSQL_ROOT_PASSWORD=123456 -d centos/mysql-57-centos7
ceec68111b3078e87bb5a7fa9d4b7923a18a2b9c9743cad939ad6cce78141570
[root@instance-ojtpkg09 root]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ceec68111b30 centos/mysql-57-centos7 "container-entrypoin…" 10 seconds ago Up 7 seconds 0.0.0.0:3308->3306/tcp mysql03
0b71daef059c centos/mysql-57-centos7 "container-entrypoin…" 4 weeks ago Up 13 days 0.0.0.0:3307->3306/tcp mysql02
4.用navicat連接我們創建的雲數據庫
打開電腦,用navicat輸入雲主機的ip和docker裏我們運行的mysql容器端口號進行連接,點擊確定ok,雲數據成功了
5.效果圖
好了,自己的雲數據庫可以使用了。如果想要再在搭建一臺,重複即可
6希望能幫助你,若有需要技術服務幫忙的可以加我QQ:1728608455
關注我的公衆號領取Java學習資料。