【后端开发】docker安装MySQL并做端口映射

1.拉取MySQL镜像

docker pull mysql

但是中途可能出现连接超时的情况
可以使用;

docker pull do.nark.eu.org/library/mysql

用国内镜像去拉取可能会快很多

2.启动容器并做端口映射

因为MySQL是在docker里面的所以要从docker外面连接MySQL需要做端口映射
以下是端口映射的的命令:

docker run --name mysql2 -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 -d mysql

第一个3006是外表端口,第二个是MySQL启动的端口一般第二个默认都是3006
my-secret-pw:是给数据库的root用户设置密码

3.连接数据库

做完端口映射之后就可以尝试连接数据库了

mysql -h 127.0.0.1 -P 3306 -u root -p

本地ip加上做映射的端口:3006
然后在输入密码就行
在这里插入图片描述
看到这个界面就说明连接成功

### 如何在 Docker安装 MySQL 配置端口映射 为了确保本地已有服务不受影响,在启动新的 MySQL 容器时可以指定不同的宿主机端口号来实现端口映射。具体操作如下: 当创建一个新的 MySQL 容器实例时,可以通过 `-p` 参数定义自定义的端口映射关系[^1]。 对于希望更改默认 3306 端口的情况,假设想要将容器内的 3306 映射到本机其他未被占用的端口比如 3307,则应使用以下命令运行新镜像: ```bash docker run --name mymysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3307:3306 -d mysql ``` 上述命令中的选项解释: - `--name mymysql`: 给这个容器命名为 "mymysql" - `-e MYSQL_ROOT_PASSWORD=my-secret-pw`: 设置环境变量以初始化 root 用户密码为 "my-secret-pw"[^3] - `-p 3307:3306`: 将主机的 3307 端口映射至容器内部的服务监听地址 (即 MySQL 默认使用的 3306)[^2] 通过这种方式即可成功绕过与现有数据库实例之间的冲突问题,允许外部应用程序或客户端工具访问位于不同端口上的第二个 MySQL 实例。 #### 关于 `$PWD` 和 `-e` 后面的内容说明 - `$PWD` 是 Shell 变量代表当前工作目录路径;但在给定上下文中不是必需项。 - 对于 `-e` 参数而言,其作用是指定传递给容器的一个或多个环境变量及其对应的值。这里特别指定了用于设置初始管理员账户凭证的相关信息。因此 `-e MYSQL_ROOT_PASSWORD=your_password_here` 表达的是向正在启动的新 MySQL 数据库提供一个预设好的超级用户登录凭据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值