如何在docker中安装mysql_mysql docker安装教程

最简单方式是用docker run命令启动MySQL官方镜像:docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mydata/mysql:/var/lib/mysql mysql:8.0,需注意密码设置、端口映射、数据挂载及认证插件兼容性。

直接用 Docker 运行 MySQL 最简单的方式是拉取官方镜像并启动容器,无需手动安装、配置服务或处理依赖。关键在于正确设置密码、端口映射和数据持久化。

拉取并运行 MySQL 官方镜像

执行以下命令即可快速启动一个 MySQL 8.0 实例(默认 root 密码设为 123456):

  • docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mydata/mysql:/var/lib/mysql -d mysql:8.0

说明:
-d 后台运行;
--name mysql8 指定容器名,便于后续管理;
-p 3306:3306 将宿主机 3306 端口映射到容器;
-e MYSQL_ROOT_PASSWORD 必填环境变量,设置 root 密码;
-v /mydata/mysql:/var/lib/mysql 挂载数据目录,避免容器删除后数据丢失。

连接 MySQL 容器

启动成功后,可用任意 MySQL 客户端连接本地 3306 端口:

  • 命令行连接:mysql -h 127.0.0.1 -P 3306 -u root -p,输入密码 123456
  • DBeaver、Navicat 等图形工具,主机填 127.0.0.1,端口 3306,用户名 root,密码同上

注意:MySQL 8.0 默认使用 caching_sha2_password 认证插件,部分旧客户端可能不兼容。如遇连接失败,可在容器内执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

自定义配置(可选)

如需修改字符集、最大连接数等,可挂载自定义配置文件:

  • 创建配置文件:mkdir -p /mydata/mysql/conf && echo '[mysqld]\ncharacter-set-server=utf8mb4\ncollation-server=utf8mb4_unicode_ci\nmax_connections=500' > /mydata/mysql/conf/my.cnf
  • 启动时挂载:-v /mydata/mysql/conf/my.cnf:/etc/mysql/conf.d/my.cnf

配置文件需放在容器中 /etc/mysql/conf.d//etc/mysql/my.cnf 路径下才生效。

常用管理命令

  • 查看运行中的容器:docker ps | grep mysql
  • 进入容器执行命令:docker exec -it mysql8 mysql -u root -p
  • 停止容器:docker stop mysql8
  • 重启容器:docker start mysql8
  • 查看日志:docker logs -f mysql8

容器名(如 mysql8)可用 docker ps 查看,也可用容器 ID 替代。