Docker 方式部署 MySQL 數據庫,一看就會!
在日常開發和測試中,部署數據庫常常是件繁瑣的事。但有了Docker,一切都變得簡單高效!今天,我們就一起來用Docker快速部署一個MySQL數據庫,讓你告別繁瑣配置,輕松上手!
為什么用Docker部署MySQL?
傳統方式安裝MySQL往往需要:
- 下載安裝包
- 手動配置環境變量
- 調整配置文件
- 處理版本兼容問題
使用Docker后,你只需一條命令,就能搞定一切:
- 快速拉起所需版本
- 無需擔心依賴沖突
- 容器隨時啟停、刪除,干凈利落
部署準備
確保你已安裝以下環境:
- Docker 環境(推薦Docker Desktop或通過 apt/yum 安裝)
- 基礎命令行操作知識
root@racknerd-a7aa50:~# docker --version
Docker version 27.5.1, build 9f9e405
一條命令跑起 MySQL 容器!
docker run -d \
--name mysql-demo \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
mysql:8.0
參數說明:
- -d:后臺運行容器
- --name:給容器起個名字
- -p:端口映射(本機3306 → 容器3306)
- -e:設置環境變量(如 root 密碼)
- -v:掛載本地目錄,持久化數據庫數據
- mysql:8.0:使用 MySQL 8.0 官方鏡像
建議設置復雜一點的密碼,避免安全隱患。
驗證是否部署成功
執行以下命令查看容器狀態:
docker ps -a
輸出中看到 mysql-demo 正在運行說明成功啦!如下圖所示:
你也可以用MySQL客戶端或工具(如 Navicat)連接測試。如下圖所示:
常用操作命令
查看日志:
docker logs -f mysql-demo
進入容器內部:
docker exec -it mysql-demo bash
停止容器:
docker stop mysql-demo
刪除容器:
docker rm -f mysql-demo
數據持久化說明
使用 -v /data/mysql:/var/lib/mysql 參數,將容器中的數據目錄映射到宿主機 /data/mysql,即使容器刪除,數據依然存在。建議定期備份該目錄,防止意外丟失。
小貼士:添加自定義配置文件
如果你想使用自己的 MySQL 配置文件:
docker run -d \
--name mysql-demo \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /data/mysql:/var/lib/mysql \
-v /my/custom/my.cnf:/etc/mysql/my.cnf \
mysql:8.0
這樣可以靈活調整參數,比如連接數、字符集等。如果你覺得 docker run 命令太長太繁瑣,那你一定會喜歡 docker-compose!我們只需寫好一個配置文件,執行一條命令即可完成部署。
version: '3.8'
services:
mysql:
image:mysql:8.0
container_name:mysql-demo
restart:always
ports:
-"3306:3306"
environment:
MYSQL_ROOT_PASSWORD:123456
MYSQL_DATABASE:testdb
MYSQL_USER:testuser
MYSQL_PASSWORD:testpass
volumes:
-./mysql-data:/var/lib/mysql
-./my.cnf:/etc/mysql/my.cnf # 可選:自定義配置
說明:
- 啟動后將自動創建 testdb 數據庫和一個 testuser 用戶;
- 數據將存儲到當前目錄下的 ./mysql-data 文件夾中;
- 可掛載 my.cnf 實現自定義參數配置。
總結
通過Docker部署MySQL:
- 簡單快速
- 易于管理
- 更適合開發測試環境
- 輕松實現版本控制和環境隔離
不管你是開發者還是運維人員,掌握這一技能,能大大提升效率!