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 —>任务管理器—>服务—>点右键—>重启服务