MySQL 指南

用 Docker 一鍵部署 MySQL 5.7,並把宿主機掛載目錄固定到 /data/mysql5.7

一篇面向實作的說明,講清楚當 Docker 已就緒時,如何用 install_mysql57_base_docker.sh 快速啟動一個把資料、設定與初始化腳本都掛在宿主機上的 MySQL 5.7。

閱讀約 5 分鐘 · 2026-03-23

這個腳本會搭好什麼

install_mysql57_base_docker.sh 適合那些已具備 Docker 環境,但又不想先準備 Compose 檔、只想快速啟動一個可維護 MySQL 5.7 實例的主機。

它會把資料庫檔案、自訂設定與初始化 SQL 都放到 /data/mysql5.7 下,讓重要狀態留在宿主機上,而不是只存在容器裡。

install_mysql57_base_docker.sh 部署 MySQL 5.7 時的終端輸出
一段已脫敏的真實安裝輸出:腳本會準備 /data/mysql5.7、拉取 mysql:5.7.44、啟動 mysql57,並列出關鍵連線資訊。為了安全,系統自動產生的 root 密碼已做隱藏處理。

它會在 /data/mysql5.7 下面產生哪些內容

腳本會建立 data、conf.d 與 init 目錄,並寫入一份基礎版 mysql57.cnf。如果你沒有明確提供 root 密碼,它會自動產生一個強密碼,並在部署完成後列出。

  • /data/mysql5.7/data
  • /data/mysql5.7/conf.d/mysql57.cnf
  • /data/mysql5.7/init/

這種部署方式最適合什麼場景

這種方式適合仍依賴 MySQL 5.7 的舊應用、小型內部系統,或需要重現舊環境的遷移演練場景。

因為資料庫運行在可替換容器裡,但資料目錄仍保留在宿主機上,所以後續即使重建容器,也不會立刻遺失資料目錄。

部署完成後建議這樣檢查

腳本結束後,建議確認容器已經啟動、3306 埠映射符合預期,並在容器內執行 mysqladmin ping 確認服務正常。同時請把輸出中的 root 密碼妥善保存,再交給業務側接入。

  • 執行 docker ps
  • 執行 docker logs -f mysql57
  • 執行 docker exec -it mysql57 mysqladmin ping -uroot -p
  • 執行 docker exec -it mysql57 mysql -uroot -p

相關專題

Ubuntu 24.04 部署基礎

面向 Ubuntu 24.04 新主機的基礎部署專題,覆蓋 Docker 安裝、常見執行時服務和上線前準備。

查看專題

應用主機的 Docker 基礎服務

透過 helper.sh 標準化部署 Nginx、MySQL、Redis、PHP 和 Workerman 等容器化基礎服務。

查看專題

問題頁面

如何用 Docker 安裝 MySQL 5.7

在現代 Docker 宿主機上,以統一目錄掛載與自動生成密碼的方式執行老版本 MySQL 5.7。

打開頁面