docker部署mysql5.7

本文介绍了如何使用Docker部署MySQL5.7,包括拉取镜像,运行容器并挂载配置文件和数据目录,设置容器内的MySQL密码,允许远程登录以及修改用户权限。同时提到了在云服务器环境下需开放安全组的3306端口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、拉取镜像
docker pull mysql:5.7
2、运行容器
 docker run -p 3306:3306 --name my-mysql -v $PWD/conf:/etc/mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7

-v $PWD/conf:/etc/mysql指令是挂载mysql的配置文件到宿主机
-v $PWD/data:/var/lib/mysql指令是挂载mysql的数据到宿主机
-e MYSQL_ROOT_PASSWORD=qazWSX123指令是配置mysql登录密码

如果容器启动失败,执行查询容器启动日志命令

docker logs --tail -n 容器名称

如果出现报错信息:Can’t read dir of '/etc/mysql/conf.d/
则删掉容器,重新执行run命令,不挂载配置文件,只挂载数据

docker run -p 3306:3306 --name my-mysql -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=qazWSX123 -d mysql:5.7
3、进入容器
docker exec -it my-mysql bash

在这里插入图片描述
能进去说明容器启动成功

4、配置mysql

登录mysql

mysql -uroot -p --default-character-set=utf8
show databses;

在这里插入图片描述
设置能远程登录mysql

use mysql;

在这里插入图片描述
设置root用户在任何地方进行远程登录,并具有所有库任何操作权限

grant all privileges on *.*  to 'root'@'%';

修改用户的密码和加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

刷新

FLUSH PRIVILEGES;
5、mysql客户端连接

如果用的是云服务器的话,需要在安全组中开放3306端口的访问权限

在这里插入图片描述
连接成功!!!

### 使用 Docker 部署 MySQL 5.7 的方法 #### 准备工作 在开始之前,需确认已安装并运行 Docker 环境。可以通过执行 `docker version` 命令来验证 Docker 是否正常工作。 #### 获取 MySQL 官方镜像 拉取官方提供的 MySQL 5.7 镜像是第一步操作。可以使用以下命令完成此过程: ```bash docker pull mysql:5.7 ``` #### 创建容器 创建并启动 MySQL 容器时,建议设置必要的环境变量以及挂载数据卷以便持久化存储数据。以下是推荐的命令结构[^2]: ```bash docker run --name=mysql -e MYSQL_ROOT_PASSWORD=your_password \ -v /my/custom/mysql/data:/var/lib/mysql \ -p 3306:3306 \ -d mysql:5.7 ``` - `-e MYSQL_ROOT_PASSWORD=your_password`: 设置 root 用户密码。 - `-v /my/custom/mysql/data:/var/lib/mysql`: 将主机目录 `/my/custom/mysql/data` 挂载到容器内的默认数据路径 `/var/lib/mysql` 中,用于保存数据库文件。 - `-p 3306:3306`: 映射主机端口 3306 到容器内部的 3306 端口。 - `--name=mysql`: 给容器指定名称为 `mysql`。 #### 自动重启策略 为了使 MySQL 容器能够在系统重启后自动启动,可应用如下更新命令[^1]: ```bash docker update mysql --restart=always ``` #### 进入容器管理 如果需要进入正在运行的 MySQL 容器进行进一步配置或调试,可以使用以下命令: ```bash docker exec -it mysql bash ``` #### 测试连接 最后,测试本地客户端是否能够成功连接至新部署MySQL 数据库实例。例如,通过命令行工具尝试登录: ```bash mysql -h localhost -P 3306 -u root -p ``` --- ### 注意事项 确保所使用的密码复杂度满足安全需求,并妥善保管访问凭证。另外,对于生产环境中的部署方案,还需考虑更多高级选项如备份机制、高可用架构设计等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值