Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

这篇具有很好参考价值的文章主要介绍了Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1.删除mysql服务

  • 管理员身份运行cmd,进入安装目录下的mysql的bin文件下,运行命令:
sc delete MySQL80

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

  • MySql必须和你的服务名称一致,可以在我的电脑-属性-服务中查看(我的是已经修改过后的,所以不一样)。删除mysql服务之后,在服务中就看不到了,如果还能看见,可以手动右击选择“停止”,服务就消失了。

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

2.新建my.ini配置文件

  • 在mysql目录下,原来是没有my.ini这个配置文件的,其实,新版的mysql的my.ini配置文件已经迁移到默认C盘下的ProgramData中,这时我们可以选择把它复制到mysql根目录下,但要注意修改my.ini文件中的basedir 和 datadir改成自己正确的路径。

这里我自己的my.ini在D盘下

文件目录

D:\ProgramData\MySQL\MySQL Server 8.0

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

一定要修改datadir,修改自己的my.ini路径

datadir=D:/ProgramData/MySQL/MySQL Server 8.0\Data

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

3.重新生成data文件

删除mysql下的data文件,如果有重要的数据表先备份好。在cmd中重新生成data文件,在data中输入:

mysqld --initialize-insecure --user=mysql

命令执行完毕会在自己安装mysql的文件夹中生成新的data文件。

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

在自己安装mysql的文件夹中生成新的data文件

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

此步骤可以跳过这里我将data文件夹移至自己的ProgramData中去

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

4.重新安装mysql服务,同时绑定my.ini配置文件

  • 在cmd中执行命令:
mysqld --install "MySQL80" --defaults-file="D:\ProgramData\MySQL\MySQL Server 8.0\my.ini"
  • “MySQL80”是服务名称,可以自己修改;”…\my.ini“是新建的配置文件的位置

  • 此时在服务中可以看到MySQL80服务,如果提示安装成功,这时打开电脑的”服务“窗口,可以找到新添加的MySql80服务:

    Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

启动mysql:在cmd中输入命令:D:\developer_tools\MySQL\MySQL Server 8.0>net start mysql80,如果启动成功,如下:

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

如果不成功:

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

这时可能是my.ini配置文件中的某些配置有问题。你可以修改ini文件内容,然后从头按步骤再试一遍。

5.重新设置密码

删除了data文件和服务之后,之前的密码就失效了,所以需要重新设置密码。在cmd中输入如下命令:D:\developer_tools\MySQL\MySQL Server 8.0> mysql -uroot -p这时密码为空,不用输入密码直接回车。

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

6.修改root用户密码

  • 在mysql8.0之前的版本,修改root密码的命令是:
update mysql.user set authentication_string=password("你的密码") where user="root";
  • mysql8.0之后的版本,修改root密码的命令是:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

  • 退出mysql,用刚刚修改的密码重新登录,分别运行命令:mysql> exitmysql -u root -p如图:

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)

  • 现在已经成功绑定my.ini文件

再次登录Navicat,成功

Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)文章来源地址https://www.toymoban.com/news/detail-419386.html

到了这里,关于Navicat报错:1045-Access denied for user root@localhost(using password:YES)怎么解决(超实用,亲测有效)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包