---
url: https://chenlj.top/md/middleware/mysql/mysql8-install-docker.md
---
# docker 安装 mysql8

> 注意事项：服务器需要有 docker 环境

## docker 拉取安装包并运行

```shell
 docker pull mysql:8
 #-v文件映射 配置文件映射,可以直接执行下面命令 --lower-case-table-names=1 这个参数表示忽略表名大小写
 docker run -d --name mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8 --lower-case-table-names=1
```

## 进入 docker 容器创建用户并授权

### 进入容器

```shell
#进入容器
docker exec -it mysql8 bash

#登录mysql
mysql -u root -p

#或者可以直接登录mysql
docker exec -it mysql8 mysql -u root -p
```

### 执行命令

```sql
# 设置root只能本地登录
use mysql;
# 查看修改前的密码
select user,host,authentication_string from user;
# 远程使用随机生成的密码进行连接
alter user 'root'@'%' identified with mysql_native_password by 'randomPassword';
flush privileges;
# 查看修改后的密码
select user,host,authentication_string from user;

#添加远程登录用户
CREATE USER 'chenlj'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'chenlj'@'%';
flush privileges;
```

### 服务器开启防火墙端口

```shell
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
```
