本人最近遇到MySQL这个问题:Access denied for user 'root'@'localhost' (using password: YES)。无法进入数据库。
经排查,可能跟我,创建了一个user表有关系,其中也有password字段。(虽然不在mysql这个数据库中),后经大量的百度及查看CSDN中大神的博客,采用以下方法得到解决:
1.在mysql的安装目录中打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”(无需密码),保存并关闭文件;
2.重启MySQL服务(一定不要忘了);
3.通过cmd行进入MySQL的bin目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库;
4.执行“use mysql;”,使用mysql数据库;
5.执行update user set Password=PASSWORD('123456') where user='root' and Host = 'localhost';(修改root的密码为123456);
6.打开MySQL安装目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件;
7.mysql> flush privileges;
8.mysql> quit;
9.在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。
本人使用的是Windows操作系统!!!!!!
Linux稍有出入。
大家为甚么会遇到这个问题,是否跟我一样?