通过 Docker 安装 MySQL

通过 Docker 安装 MySQL,具体步骤如下:

1. 拉取 MySQL 镜像

首先要从 Docker Hub 获取 MySQL 镜像。以 MySQL 8.0 为例,可使用以下命令:

bash 复制代码
docker pull mysql:8.0

如果需要其他版本,比如 5.7,把标签修改一下即可:

bash 复制代码
docker pull mysql:5.7

2. 创建并运行 MySQL 容器

使用下面的命令创建容器,同时设置 root 密码和数据卷:

bash 复制代码
docker run -d \
  --name mysql-server \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v mysql-data:/var/lib/mysql \
  mysql:8.0

这里有几个参数需要说明:

  • --name mysql-server:给容器起名为 mysql-server。
  • -p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
  • -e MYSQL_ROOT_PASSWORD=your_password:设置 root 用户的密码,你要把your_password替换成实际使用的密码。
  • -v mysql-data:/var/lib/mysql:把容器内的 MySQL 数据挂载到名为 mysql-data 的卷上,这样可以保证数据的持久化。

3. 连接 MySQL 数据库

容器启动之后,你可以通过命令行客户端连接到 MySQL:

bash 复制代码
docker exec -it mysql-server mysql -u root -p

接着输入之前设置的 root 密码就能进入数据库了。

4. 创建新用户和数据库(可选)

进入 MySQL 后,建议创建一个专门的用户和数据库,而不是直接使用 root 用户:

sql 复制代码
CREATE DATABASE your_database;
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'%';
FLUSH PRIVILEGES;

记得把your_databaseyour_useryour_password替换成你自己设定的值。

5. 配置文件挂载(可选)

如果你想自定义 MySQL 的配置,可以创建一个配置文件,然后挂载到容器中:

bash 复制代码
docker run -d \
  --name mysql-server \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v mysql-data:/var/lib/mysql \
  -v /path/to/my.cnf:/etc/mysql/my.cnf \
  mysql:8.0

要把/path/to/my.cnf替换成你本地配置文件的实际路径。

其他实用命令

  • 查看容器日志:

    bash 复制代码
    docker logs mysql-server
  • 停止容器:

    bash 复制代码
    docker stop mysql-server
  • 启动容器:

    bash 复制代码
    docker start mysql-server

按照以上步骤操作,你就能在 Docker 中成功安装并运行 MySQL 了。

相关推荐
水月清辉5 分钟前
MySQL 表分区详解
mysql
陈年老古董21 分钟前
Shell 脚本编程基础完整学习笔记
linux·sql·mysql
腾讯数据架构师37 分钟前
摩尔线程 GPU 怎么接入 Kubernetes 跑 DeepSeek?CubeStudio 摩尔线程(MUSA)适配实操
人工智能·云原生·容器·kubernetes·开源·mlops·maas
μθημα1 小时前
K8s Pod 管理实战:虚拟机环境下的具体命令与步骤
java·docker·kubernetes
梦梦代码精1 小时前
深度体验BuildingAI:一款集成商业闭环的开源智能体平台
人工智能·docker·开源·代码规范
JavaPub-rodert1 小时前
Redis 和 MySQL 如何保证数据一致性?从缓存更新到延迟双删完整讲解
redis·mysql·缓存
冰暮流星2 小时前
MySQL 流程函数详解
数据库·sql·mysql
ylj_dev2 小时前
从 0 构建 AI Workload Platform(八):受限执行环境与 Kubernetes
docker·容器·kubernetes·分布式系统·ai工作流·容器安全·ai infra
sryyd_023 小时前
Kubernetes 控制器完全指南:从原理到实战
云原生·容器·kubernetes