120 lines
2.2 KiB
Markdown
120 lines
2.2 KiB
Markdown
|
# Docker 安装 Mysql
|
|||
|
|
|||
|
首先安装`Dcoker`没有安装可以参考这篇文章[Docker基本命令](https://blog.hhdxw.top/archives/235)
|
|||
|
|
|||
|
### 1、查看可用的 Mysql 版本
|
|||
|
|
|||
|
访间问 Mysql 镜像库地址:https://hub.docker.com
|
|||
|
|
|||
|
也可以用命令来查看
|
|||
|
|
|||
|
```bash
|
|||
|
docker search mysql
|
|||
|
```
|
|||
|
|
|||
|
### 2、拉取指定版本的 Mysql 镜像
|
|||
|
|
|||
|
这里用最新版
|
|||
|
|
|||
|
```bash
|
|||
|
docker pull mysql:latest
|
|||
|
|
|||
|
docker pull mysql:8
|
|||
|
```
|
|||
|
|
|||
|
### 3、查看本地镜像
|
|||
|
|
|||
|
用以下命令查看是否安装了Mysql
|
|||
|
|
|||
|
```bash
|
|||
|
docker images
|
|||
|
```
|
|||
|
|
|||
|
### 4、运行容器
|
|||
|
|
|||
|
```bash
|
|||
|
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
|
|||
|
```
|
|||
|
|
|||
|
- `docker run`:启动一个新的容器。
|
|||
|
- `--name mysql`:为容器命名为 `mysql`,以便在进一步操作时可以直接使用这个名称而不是 ID。
|
|||
|
- `-p 3306:3306`:将主机的 3306 端口映射到容器内的 3306 端口。
|
|||
|
- `-e MYSQL_ROOT_PASSWORD=root`:设置 MySQL 的 root 用户的密码为 `root`。这个设置会被传递给容器内部,并通过环境变量 `MYSQL_ROOT_PASSWORD` 进行读取。
|
|||
|
- `-d mysql:latest`:使用 MySQL 的最新版本镜像,并在后台运行容器。
|
|||
|
|
|||
|
### 5、安装成功
|
|||
|
|
|||
|
最后我们可以通过查看运行项
|
|||
|
|
|||
|
```bash
|
|||
|
docker ps
|
|||
|
```
|
|||
|
|
|||
|
命令查看容器的运行信息
|
|||
|
|
|||
|
### 6、开启远程访问
|
|||
|
|
|||
|
进入容器
|
|||
|
|
|||
|
```bash
|
|||
|
docker exec -it 容器名称|容器id bin/bash
|
|||
|
```
|
|||
|
|
|||
|
登录mysql,打开远程访问
|
|||
|
|
|||
|
1.登录mysql
|
|||
|
|
|||
|
```bash
|
|||
|
mysql -uroot -p
|
|||
|
```
|
|||
|
2.进行授权
|
|||
|
|
|||
|
```bash
|
|||
|
GRANT ALL ON *.* TO 'root'@'%';\
|
|||
|
```
|
|||
|
3.刷新权限
|
|||
|
|
|||
|
```bash
|
|||
|
flush privileges;
|
|||
|
```
|
|||
|
4.加密规则
|
|||
|
|
|||
|
```bash
|
|||
|
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
|
|||
|
```
|
|||
|
5.更新root密码
|
|||
|
|
|||
|
```bash
|
|||
|
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
|
|||
|
```
|
|||
|
6.刷新权限
|
|||
|
|
|||
|
```bash
|
|||
|
flush privileges;
|
|||
|
```
|
|||
|
|
|||
|
|
|||
|
|
|||
|
### 6、测试
|
|||
|
|
|||
|
在 docker 可视化工具里可以直接访问 msyql
|
|||
|
|
|||
|
例如:[Docker Desktop](https://www.docker.com/products/docker-desktop/)、Docker中的[portainer](https://www.portainer.io/)
|
|||
|
|
|||
|
或者使用数据库管理工具访问mysql
|
|||
|
|
|||
|
例如:[Navicat](https://www.navicat.com.cn/)、[WorkBench](https://dev.mysql.com/downloads/workbench/)
|
|||
|
|
|||
|
### 7、停止容器
|
|||
|
|
|||
|
```bash
|
|||
|
docker stop mysql
|
|||
|
```
|
|||
|
|
|||
|
### 8、关闭容器
|
|||
|
|
|||
|
```bash
|
|||
|
docker rm mysql
|
|||
|
```
|
|||
|
|