Note/环境/安装教程/Mysql.md

120 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

2023-08-31 11:30:31 +08:00
# 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
```