1045 Access denied for user 'root'@'localhost' (using password:YES)

MySQL可视化工具为Navicat。

这个错误是这样说的:

1045 Access denied for user 'root'@'localhost' (using password:YES)

这个意思是说:用户“root”@本地主机的访问被拒绝

那为什么会出现这种错误呢?

答案是这样:这种问题的本质是用户密码出现错误。

那如何解决呢?

以下是我今天的解决经验:

1.找到MySQL安装路径下的my.ini文件,用记事本的方式打开;

2.打开后,找到mysqld这个位置,这个文件的内容中有多个mysqld,注意看箭头所指位置

3.在 [mysqld] 底下添加语句:skip-grant-tables,添加完毕后保存。如果提示不让修改这个文件,则可将它复制到桌面,再用记事本打开它,添加完毕后,将桌面上的文件复制到原来的地方,赋值时选择替换目标文件;

好学的你肯定也想知道这个skip-grant-tables是什么意思,如下介绍:

skip-grant-tables作为启动参数的作用:MYSQL服务器不加载权限判断,任何用户都能访问数据库。

也就是说,启用这个参数之后,数据库的安全性会降低。

4.WIN+R —>cmd—>mysql -u root -p,这个命令是连接数据库服务器的命令;遇到Enter passward:直接回车;

5.继续执行如下操作:

mysql>use mysql //使用这个数据库

mysql>update user set password=password("123456") where user="root"; //修改数据库的密码

mysql>flush privileges; //刷新数据库

这要步骤已经完成,我们来看看修改后的用户和密码:

到这里修改密码的工作已经完成。接下来要将在my.ini中添加的语句删掉。删掉之后再重启服务器,在测试链接,如果没有错误,一切OK;如果删掉语句,重启服务器之后任然有1045错误,那么,还是在my.ini原来删掉这条语句的位置中添加这条语句:skip-grant-tables,再重启服务器,再测试,一切OK。

服务在哪里?

ctrl + alt + delete —>任务管理器—>服务—>点右键—>重启服务

 

posted @ 2020-05-11 17:17  linyinmobayu  阅读(1018)  评论(0编辑  收藏  举报