news 2026/5/31 2:33:27

初探 Mysql Docker

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初探 Mysql Docker

前言

我在專案開發階段常使用 MySQL Docker,主要是好處,快速啟動、零安裝成本、版本切換,不污染本機系統(不喜歡本機裝一堆有的沒的,特別是有的只會用那麼一次)。而且如果在需要,任何時間、任何機器,都能還原相同 DB 環境。

註: 在測試也非常好用:

1.Unit / Integration Test 啟動臨時 MySQL

2.測試結束,可以將容器刪除

3.不影響正式資料

必要:

安裝 Docker Desktop

參看: https://docs.docker.com/desktop/setup/install/windows-install/

專案結構

|- docker/

| |- mysql/

| |─ docker-compose.yml

| |- init/

| |- schema.sql

實作

新增docker-compose.ymlMySQL

services: mysql: image: mysql:8.4.7 container_name: dev-mysql restart: always ports: - "3306:3306" environment: # 建立 root 預設使用的密碼 MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: testdb # 建立新使用者並設定該使用者的密碼 MYSQL_USER: mysql MYSQL_PASSWORD: 123456 volumes: # 我本機上建立的資料目錄 - /Users/danny/mysql_data:/var/lib/mysql - ./init:/docker-entrypoint-initdb.d command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

新增schema.sql

DROP TABLE IF EXISTS users; CREATE TABLE users ( id bigint NOT NULL AUTO_INCREMENT, email varchar(255) NOT NULL, first_name varchar(255) NOT NULL, last_name varchar(255) DEFAULT NULL, password varchar(255) NOT NULL, username varchar(255) NOT NULL, PRIMARY KEY (id), CONSTRAINT username_unique UNIQUE (username), CONSTRAINT email_unique UNIQUE (email) );

說明:

初始化新實例:(選項)

當容器首次啟動時,如需要建立一個具有指定名稱的新資料庫,並進行初始化。它將執行位於指定目錄下、副檔名為 .sql 的檔案/docker-entrypoint-initdb.d。文件將按字母順序執行。

資料儲存:(選項)

在主機系統上建立資料目錄,並將其掛載到容器內部可存取的目錄。這樣,資料庫檔案就會位於主機系統上建立資料

啟動 / 停止

# 啟動,如果之前會 pull mysql image過,會需要pull image

docker compose up -d

# 查看狀態,已成功啟動。

docker compose ps

檢視相關狀態。

查看 Docker Desktop,可以看到 Containers 已有剛建立的 dev-mysql

使用mysql client 工具連線,可以看到剛初始建立的table users

文章到此結束。謝謝!

:-( 怎沒半個粉

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 16:58:34

什么是云桌面?一般都用哪些云桌面?

随着数字化时代的快速发展,云计算技术逐渐渗透到各行各业,其中云桌面作为一种创新的工作与学习方式,正受到广泛关注。它不仅提升了资源利用效率,还增强了数据安全性和访问灵活性。特别是在教育领域,结合人工智能技术的…

作者头像 李华
网站建设 2026/5/29 23:35:11

什么是云原生

云原生是一种现代化的软件开发和部署方法,旨在充分利用云计算的优势,提高应用程序的可伸缩性、弹性和可靠性。 云原生的详细定义包括云原生计算基金会(Cloud Native Computing Foundation,CNCF)的官方定义和延伸含义。…

作者头像 李华
网站建设 2026/5/28 18:12:13

如何在Kafka中使用SSL/TLS证书认证

在 Kafka 中配置 SSL/TLS 证书认证(核心是双向认证,客户端验证 broker、broker 验证客户端)需完成证书准备、Broker 配置、客户端配置三大核心步骤,以下是详细实操指南(基于 Kafka 2.8,JKS 格式证书&#x…

作者头像 李华
网站建设 2026/5/29 21:41:00

最新网络安全行业入门全指南:前景、方向与实战学习路径

最新网络安全行业入门全指南:前景、方向与实战学习路径 在数据即资产的今天,网络安全早已不是黑客攻防的小众领域 ——2025 年国内网络安全人才缺口突破350万,渗透测试、安全研发等岗位起薪比普通 IT 岗位高 20%,3 年经验工程师年…

作者头像 李华
网站建设 2026/5/30 5:49:49

AI 如何改变 IT 行业:从工具到伙伴的深刻变革

引言 在过去的几年里,人工智能(AI)已经从科幻概念迅速演变为 IT 行业的核心驱动力。2025 年,我们看到 AI 不再是锦上添花的功能,而是深度融入开发、运维、安全、数据等几乎所有领域的底层技术。AI 的广泛应用正在重塑 IT 从业者的日常工作,既带来了效率的飞跃,也改变了…

作者头像 李华