公告

👇公众号👇---👇 微信 👇

欢迎大家加群&私信交流

文章首/文尾有群二维码

Skip to content

在docker中安装和部署MySQL

1. 拉取MySQL镜像

bash
# 指定版本
docker pull mysql:8.0.36
# 最新版本
docker pull mysql:latest

2. 运行MySQL容器

bash
docker run \
-d \
--name mysql-8.0.36 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0.36

3. 在docker容器中设置MySQL远程连接

3.1 进入MySQL容器

bash
docker exec -it mysql-8.0.36 bash
# 登录MySQL
mysql -uroot -proot

3.2 进入MySQL库

bash
use mysql;

3.3 在 mysql 数据库的 user 表中查看当前 root 用户的相关信息

bash
select host, user, authentication_string, plugin from user;

3.4 再执行授权语句:

bash
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
GRANT ALL ON *.* TO 'root'@'%';

3.5 执行以上语句之后再执行:

bash
flush privileges;

4. 使用Navicat连接MySQL报2059错误

解决方法

4.1 进入MySQL容器

bash
docker exec -it mysql-8.0.36 bash

4.2 进入MySQL库

bash
mysql -uroot -proot

4.3 修改加密规则

bash
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;

4.4 更新root用户密码

bash
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

4.5 刷新权限

bash
FLUSH PRIVILEGES;

OK,设置完成,再次使用 Navicat 连接数据库,oh yeah~