Docker安装MySql并启动

二、拉取MySql镜像

拉取最新版的MySql

docker pull mysql

拉取完成后我们看一下我们的镜像

docker images

三、启动

复制下面的命令不要换行(name可以更换)

docker run -p 12345:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/logs -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

下面给大家解释一下这个命令的意思

我们可以通过下面的命令登录进去这个MySql

1、获取容器的ID


docker ps

2、进入容器


# 把容器id替换成你自己的 docker exec -it 787c2527480c /bin/bash

3、输入用户名密码


mysql -uroot -p123456

四、外部可视化工具链接

链接失败考虑一下是否是防火墙、和端口安全组没有开

Docker安装启动 MySQL 数据库可以通过 `docker run` 命令或者使用 `docker-compose.yml` 文件来实现。以下是两种常见方式的详细步骤: ### 使用 `docker run` 命令安装启动 MySQL 可以通过以下命令快速创建启动一个 MySQL 容器: ```bash docker run -id \ --name=mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=your_password \ -v mysql-data:/var/lib/mysql \ mysql:latest ``` - `-id`:表示以交互模式后台运行容器。 - `--name=mysql`:为容器指定一个名称,便于后续管理。 - `-p 3306:3306`:将宿主机的 3306 端口映射到容器的 3306 端口。 - `-e MYSQL_ROOT_PASSWORD=your_password`:设置 MySQL 的 root 用户密码[^1]。 - `-v mysql-data:/var/lib/mysql`:将容器中的 MySQL 数据目录挂载到宿主机的卷中,以实现数据持久化[^4]。 - `mysql:latest`:使用最新版本的 MySQL 镜像。 如果需要指定 MySQL 的版本,例如 5.7 或 8.0,可以将 `mysql:latest` 替换为 `mysql:5.7` 或 `mysql:8.0`[^3]。 ### 使用 `docker-compose.yml` 文件安装启动 MySQL 在项目目录下创建一个名为 `docker-compose.yml` 的文件,填入以下内容: ```yaml version: '3' services: mysql: image: mysql:latest ports: - "3306:3306" environment: - MYSQL_ROOT_PASSWORD=your_password volumes: - ./data:/var/lib/mysql ``` - `image: mysql:latest`:指定使用 MySQL 的官方镜像[^2]。 - `ports`:将宿主机的端口映射到容器的端口。 - `environment`:设置环境变量,包括 root 用户的密码。 - `volumes`:将宿主机的目录挂载到容器中,用于持久化数据。 保存文件后,运行以下命令启动容器: ```bash docker-compose up -d ``` 该命令会以后台模式启动服务,根据 `docker-compose.yml` 中的配置创建容器。 ### 连接 MySQL 数据库 安装启动完成后,可以通过以下方式连接数据库: - **使用 MySQL 客户端连接**: ```bash mysql -h 127.0.0.1 -u root -p ``` 输入设置的密码即可连接数据库[^4]。 - **使用数据库管理工具连接**(如 Navicat、DBeaver、MySQL Workbench 等): - 主机地址填写 `127.0.0.1` - 端口为 `3306` - 用户名填写 `root` - 密码填写设置的密码 ### 数据持久化与配置优化 为了确保数据在容器删除后不会丢失,建议将数据目录挂载到宿主机。例如,可以使用 `-v` 参数将 `/var/lib/mysql` 挂载到宿主机的目录或 Docker 卷中。 此外,还可以通过挂载配置文件目录来定制 MySQL 配置: ```bash docker run -id \ --name=mysql \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=your_password \ -v ./mysql-config:/etc/mysql/conf.d \ -v mysql-data:/var/lib/mysql \ mysql:latest ``` - `./mysql-config`:用于存放自定义的 MySQL 配置文件(如 `custom.cnf`),可以在其中添加自定义配置项,例如设置最大连接数、表名大小写敏感等[^4]。 ### 常见问题处理 - **端口冲突**:如果宿主机的 3306 端口已被占用,可以将 `-p 3306:3306` 改为 `-p 3307:3306`,表示将容器的 3306 端口映射到宿主机的 3307 端口。 - **数据恢复**:若之前有数据存放在挂载目录中,MySQL 会自动加载这些数据。 - **镜像拉取失败**:确保 Docker 已连接到互联网,可以通过 `docker pull mysql:latest` 手动拉取镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ITlele

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值