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
|
||
```
|
||
|