Note/环境/安装教程/Mysql.md
2024-01-12 16:35:29 +08:00

120 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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