mysql如何在docker中搭建mysql

首先拉取指定版本MySQL镜像并运行容器,设置root密码、端口映射和数据卷挂载以实现持久化,通过mysql客户端或docker exec连接服务,可选挂载自定义配置文件,定期执行mysqldump备份数据。

在 Docker 中搭建 MySQL 是一种快速、便捷的方式,可以避免污染本地环境,同时便于管理和部署。以下是完整的操作步骤。

拉取 MySQL 镜像

首先从 Docker Hub 拉取官方 MySQL 镜像。建议指定版本号,避免使用 latest 导致不一致问题。

命令示例:

docker pull mysql:8.0

运行 MySQL 容器

使用 docker run 命令启动容器,并设置必要的参数。

常用启动命令:

docker run -d \
--name mysql-container \
-e MYSQL_ROOT_PASSWORD=your_password \
-p 3306:3306 \
-v /your/local/data:/var/lib/mysql \
mysql:8.0

参数说明:

  • -d:后台运行容器
  • --name:指定容器名称
  • -e MYSQL_ROOT_PASSWORD:设置 root 用户密码
  • -p 3306:3306:映射主机 3306 端口到容器
  • -v:挂载数据卷,确保数据持久化

连接 MySQL 服务

容器启动后,可通过以下方式连接:

1. 使用 mysql 客户端连接本地端口:

mysql -h 127.0.0.1 -u root -p

2. 进入容器内部操作:

docker exec -it mysql-container mysql -u root -p

配置文件自定义(可选)

如需修改 MySQL 配置(如字符集、日志等),可挂载自定义 my.cnf 文件。

步骤:

  • 在主机创建配置文件,例如 /your/conf/my.cnf
  • 在运行命令中添加挂载:
    -v /your/conf/my.cnf:/etc/mysql/my.cnf

数据持久化与备份

通过挂载 /var/lib/mysql 目录,即使容器删除,数据仍保留在主机上。定期备份建议使用:

docker exec mysql-container mysqldump -u root -p --all-databases > backup.sql

基本上就这些。只要镜像拉下来,配好密码和端口映射,再挂载数据目录,MySQL 就能稳定运行在 Docker 中了。