注:本文包解决你的疑惑!
一、问题引出
有时候我们登录Mysql输入密码的时候,会出现这种情况
mysql -u root -p
Enter Password > '密码'
这时如果我们不输入密码就会报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
如果输入密码(就算正确)报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
二、问题解决
①打开C:\ProgramData\MySQL\MySQL Server 5.6下的my.ini文件,在[mysqld]下添加skip-grant-tables这句代码
②重启mysql服务
③以管理员身份打开cmd,输入 mysql -u root -p 不用输入密码,直接回车(出现Enter Password 也一样直接回车,即可登陆成功)
④输入use mysql,修改root的密码:
update user set authentication_string=password('新密码') where user='root';
⑤刷新权限 flush privileges;
⑤退出: quit;
⑥再次重启mysql
⑦测试是否成功就是是否登陆成功咯。
mysql -u root -p
Enter Password>'新密码'