docker mysql Access denied for user ‘root‘@‘localhost‘ (using password: YES)


前言

         在使用docker创建mysql容器使用时,有时候会在进入容器后登录时出现拒绝访问的情况,比如Access denied for user ‘root‘@‘localhost‘ (using password: YES),可以使用以下方法尝试解决


一、跳过mysql登录验证

       1. 进入mysql的容器中,找到/etc/mysql/conf.d/docker.cnf文件 2. 在docker容器中安装vim(我有篇博客讲到了vim的安装),对docker.cnf文件进行编辑,添加一行skip-grant-tables,添加完成之后别忘记将mysql容器restart以下 ![在这里插入图片描述](https://img-blog.csdnimg.cn/558d10b8ca7b49ae836d9f4dbe15ea5f.png#pic_center)

二、进入mysql

       在第一步的基础上我们这时可以直接输入mysql 进入mysql的命令行,然后执行mysql的修改密码语句,这时需要注意不同版本的mysql可以需要不同的修改密码的执行语句,我这里使用的mysql是8.0.29版本,

  1. 执行修改密码之前先刷新下权限,不然可能会提示在skip-grant-tables模式下无法修改密码
flush privileges;
  1. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
  1. 刷新权限
flush privileges;
  1. 修改完成,这时就需要将我们在第一步添加的skip-grant-tables删除掉,然后在restart mysql容器以下
  2. 这时就可以用新密码进行登录了
  3. 还有一种方法可以试以下,好像只输入用户名直接登录可以登录进去在这种情况下…然后在修改密码进行登录

问题三 Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2)

  1. 我用的是docker容器,重启以下容器就好了,如果不行多重启几下就好了

问题四 修改登录主机

update user set host = '%' where user = 'root';

总结

加油噢!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在使用docker创建mysql容器时,有时会出现"Access denied for user 'root'@'localhost' (using password: YES)"的错误。出现这个错误的原因可能是密码错误或者权限配置问题。 解决这个问题有几种方法可以尝试。首先,可以跳过mysql登录验证。进入mysql的容器中,找到/etc/mysql/conf.d/docker.cnf文件,在该文件中添加一行"skip-grant-tables",然后重新启动mysql容器。这样就可以跳过验证登录。但是记得在修改密码后删除这个配置,并重新启动mysql容器。 另一种方法是直接进入mysql命令行,使用适用于你的mysql版本的修改密码语句。在执行修改密码之前,需要刷新权限,可以执行"flush privileges;"语句。然后执行"ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';"语句来修改密码。修改完成后,再次刷新权限。记得在完成密码修改后删除skip-grant-tables配置,并重新启动mysql容器。 如果遇到问题无法连接到本地MySQL服务器的情况,可以尝试重启docker容器。另外,如果需要修改登录主机,可以执行"update user set host = '%' where user = 'root';"语句。 综上所述,解决docker中"Access denied for user 'root'@'localhost' (using password: YES)"的问题可以通过跳过登录验证、修改密码和刷新权限来解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [连腾讯云上的docker上的mysql报错ERROR 1045 (28000): Access denied for userroot’@’localhost’ ...](https://download.csdn.net/download/weixin_38732519/14074606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [docker mysql Access denied for userroot‘@‘localhost‘ (using password: YES)](https://blog.csdn.net/xiaoxiaoxiaopb/article/details/119351708)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值