windows mysql 8.0 ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

--------------更新分界线,常规方法在分界线下面--------------------------
时隔几个月,我又遇到了同样的问题。。。。本来庆幸自己之前也遇到过,还写了博客防止忘记,结果同样的步骤行不通!在第4步的时候会显示服务无法启动的情况,心塞。于是经过大量的百度和尝试,最后终于弄好了,因为中间尝试了太多方法,已经搞不清楚是哪一步起了作用,所以只能凭着感觉和记忆将有用的方法先记录下来。如果还没有用的话。。。。。那就再尝试其他教程吧!(狗头)
1、删除MySQL安装目录中bin文件夹下面的data文件夹(注意备份原文件夹,万一之后过程出错时可以恢复回去)
2、以管理员身份打开cmd,并切换到自己MySQL文件的bin目录下。(我的是 C:\Program Files\MySQL\MySQL Server 8.0\bin\)
3.初始化MySQL服务,需要在cmd窗口中输入命令:mysqld --initialize
这一步骤等待一会后,会有新的data文件夹生成,接着输入mysql依旧是进不去的,然后关键就在这个文件夹中有一个err文件,里面有用来登录mysql 的临时密码。
(友情提示,以下是我的内心吐槽部分,可以跳过)
但是!!!问题就在这里,我一开始生成data文件夹后,死活找不到err文件(不知道是我眼瞎没看到还是真没有),然后mysql服务也启动不了,令人窒息,于是又找了好多教程,都大同小异的操作,我就反复做了好几遍,都不行,最后在心灰意冷绝望之际打开文件夹时,突然看到了err文件,狂喜!用文件里面给的临时密码登录mysql成功!最后接着修改密码刷新重进。这个过程让我想到了那个“为什么不对?为什么对?”的表情包,真是一门玄学。

(关于评论中出现的问题)
评论的话先给朋友们道个歉,因为csdn要微信扫码登录,我比较懒(:з」∠)_如果不是像这次突然想着要上来看看的时候一般都不登录,所以没能及时看到不好意思。看到有几位小伙伴有相同的问题,我尝试着解答一下,如果还是不行不要打我(抱头),和我一样多尝试其他方法,说不定就成了呢!虽然过程稀里糊涂,但结果是好的就可,就是这么不求甚解hhhhh

  • skip-grant-tables没起到作用,这个问题我这次也遇到过,明明按照步骤来,后面mysql服务也成功启动了,但还是无法登录进去。如果和我一样是这样的问题,可以在安装目录的bin文件夹下面(注意是方向上的下面,不是进入文件夹)的data文件夹中找一下有没有err文件,有的话就很开心啦,打开它,找到一个[NOTE]提示的,里面会有临时密码~!就像下面这样,复制密码登录mysql,最后接着修改密码之类的常规操作就行了。
    在这里插入图片描述

突然感觉,如果按照正常的方法走下来中间没有出现其他问题,但最后就是进不去mysql的时候,都可以试试找err文件这个方法,用临时密码先进门,再换锁。

  • 服务名无效的情况,检查一下自己的mysql服务名称,快捷键win+r输入services.msc,找到mysql开头的服务名,看看后面有没有小尾巴,比如MySQL80之类的,如果是这样的话就要用完整的名字才能启动服务,或者在这里直接右键启动服务就OK了~

----以下是一般方法,如果最后还是无法连接,可以再参考我上面的过程-------

在win10下登录mysql8.0数据库的时候出现 :

ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’(using password: NO)

ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’(using password: YES)

折腾了好几天,网上好多方法都试过了还是没有,但最终还是解决了!!处理方法如下:

1、在my.ini文件的[mysqld]标签下增加“skip-grant-tables”

在这里插入图片描述
文件的路径在C:\ProgramData\MySQL\MySQL Server 8.0

2、在目录C:\Windows\System32下找到cmd.exe,右键选择“以管理员身份运行”

在这里插入图片描述

3、输入mysqld --initialize-insecure

在这里插入图片描述
输入命令等待一会,不会有结果出现。等新的命令行后输入下面的命令

4、输入net start mysql

在这里插入图片描述

5、接下来就能免密登陆mysql了,输入mysql -u root

在这里插入图片描述

6、修改密码,输入use mysql

在这里插入图片描述

7、输入alter user ‘root’@‘localhost’ identified by ‘你的密码’;

在这里插入图片描述
注意一定要加英文的分号

8、输入flush privileges;刷新记录

在这里插入图片描述

9、exit退出mysql,再输入mysql -u root -p使用刚才设置好的密码登陆成功

在这里插入图片描述

10、最后删掉前面在my.ini中添加的skip-grant-tables即可

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值