环境配置

docker
docker-compose
mysql:8.0.16
在这里插入图片描述

前提条件

我看网上大部分人碰到:Access denied for user ‘root’@‘localhost’ (using password: YES)这个报错,都是在登录的时候,我碰到这个报错是已经登录进来,但是使用root账号给其他账号分配权限时提示。

深入分析报错原因

使用root账号执行GRANT授权操作都会提示:Access denied for user ‘root’@‘localhost’ (using password: YES),刚开始怀疑是mysql的版本问题,在网上找了其他的提权方式均会报错,查询root账号所拥有的权限又没有发现问题。

在这里插入图片描述

解决方案

1.找到部署mysql时用到的docker-compose.yml文件,查看mysql容器映射到宿主机的配置文件目录,找到配置项volumes
在这里插入图片描述

2.找到宿主机下的mysqld.cnf文件,写入配置skip-grant-tables
在这里插入图片描述
3.注意修改配置后,需要重启mysql容器配置才会生效

4.此时连上mysql再去使用提权sql都能正常使用了
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐