docker下的mysql数据库root账号无权限,报错Access denied for user ‘root‘@‘localhost‘ (using password: YES)
使用root账号执行GRANT授权操作都会提示:Access denied for user ‘root’@‘localhost’ (using password: YES),刚开始怀疑是mysql的版本问题,在网上找了其他的提权方式均会报错,查询root账号所拥有的权限又没有发现问题。1.找到部署mysql时用到的docker-compose.yml文件,查看mysql容器映射到宿主机的配置文件
·
环境配置
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都能正常使用了
更多推荐
已为社区贡献1条内容
所有评论(0)