要在 Docker 中安装 MySQL 5.7,请按照以下步骤进行:
1. 拉取 MySQL 5.7 镜像
首先,从 Docker 官方镜像仓库拉取 MySQL 5.7 的镜像:
docker pull mysql:5.7
2. 创建数据存储目录
为了持久化存储 MySQL 数据,建议在宿主机上创建数据存储目录:
mkdir -p /docker/mysql5.7/data
3. 启动 MySQL 5.7 容器
使用以下命令启动 MySQL 5.7 容器,并设置 root 密码为 your_password
:
docker run -p 3307:3306 \--name mysql57 \-e MYSQL_ROOT_PASSWORD=your_password \-v /docker/mysql5.7/data:/var/lib/mysql \-d mysql:5.7
参数说明:
-p 3307:3306
:将宿主机的 3307 端口映射到容器的 3306 端口。--name mysql57
:为容器指定名称为mysql57
。-e MYSQL_ROOT_PASSWORD=your_password
:设置 MySQL 的 root 用户密码。-v /docker/mysql5.7/data:/var/lib/mysql
:将宿主机的/docker/mysql5.7/data
目录挂载到容器内的 MySQL 数据目录,实现数据持久化。-d mysql:5.7
:在后台运行 MySQL 5.7 容器。
4. 验证 MySQL 容器是否运行
使用以下命令查看正在运行的容器:
docker ps
如果容器正常运行,您将看到类似以下的输出:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 mysql:5.7 "docker-entrypoint.s…" 10 seconds ago Up 9 seconds 0.0.0.0:3307->3306/tcp mysql57
5. 连接到 MySQL 容器
您可以使用以下命令进入容器的 bash 环境:
docker exec -it mysql57 bash
然后,使用以下命令登录 MySQL:
mysql -u root -p
输入之前设置的 root 密码 your_password
即可登录。
6. 配置 MySQL 允许远程连接(可选)
如果需要允许远程访问 MySQL,执行以下步骤:
-
登录 MySQL 后,运行以下 SQL 语句,修改 root 用户的权限:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES;
-
确保防火墙允许外部访问 3307 端口。
7. 访问 MySQL
您可以使用任何 MySQL 客户端(如 Navicat)连接到 your_server_ip
的 3307 端口,用户名为 root
,密码为 your_password
,以实现远程访问。
通过这些步骤,您就可以在 Docker 中成功安装并运行 MySQL 5.7。