Skip to main content

Docker 安装 MySQL5.7

拉取Mysql镜像

docker pull mysql:5.7

创建本地数据目录和配置文件

先在主机上准备存储 MySQL 数据的目录和自定义配置文件。

# 创建数据存储目录
mkdir -p ~/mysql/data

# 创建自定义配置文件目录
mkdir -p ~/mysql/config

# 如果需要自定义配置文件,可以创建一个 my.cnf
cat <<EOF > ~/mysql/config/my.cnf
[mysqld]
# 示例配置,按需修改
bind-address = 0.0.0.0
sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF

启动 MySQL 5.7 容器

运行以下命令安装并启动容器:

docker run -d \
--name mysql5.7 \
-p 3306:3306 \
-v ~/mysql/data:/var/lib/mysql \
-v ~/mysql/config/my.cnf:/etc/mysql/my.cnf \
-e MYSQL_ROOT_PASSWORD=Marmot123 \
--restart=always \
mysql:5.7
  • --name mysql5.7:设置容器名称为 mysql5.7。
  • -p 3306:3306:将主机的 3306 端口映射到容器的 3306 端口。
  • -v ~/mysql/data:/var/lib/mysql:将本地目录 ~/mysql/data 映射到容器的数据目录。
  • -v ~/mysql/config/my.cnf:/etc/mysql/my.cnf:将自定义配置文件挂载到容器中。
  • -e MYSQL_ROOT_PASSWORD=Marmot123:设置 MySQL 的 root 用户密码。
  • --restart=always:设置容器随 Docker 服务自启动。
  • mysql:5.7:指定使用 MySQL 5.7 镜像。

确认容器状态

运行以下命令查看容器是否运行正常:

docker ps -a

检查 MySQL 服务状态

进入容器检查 MySQL 是否正常运行:

docker exec -it mysql5.7 bash
# 在容器内登录 MySQL
mysql -uroot -p