windows下MySQL登录问题 错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
问题描述:
Mysql 服务可以启动,输入mysql –u root –p 打回车后提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)。
解决方法:
第一种情况:未设置root密码的
直接跳过MySQL的密码认证过程即可,方法如下:
第一步:在mysql安装目录中找到my.ini文件,在文档内搜索mysqld定位到[mysqld]文本段,在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程。具体如下:
第二步:重启MySQL服务:
第三步:重启之后,输入指令mysql -u root -p 即可进入mysql。
第二种情况:设置root密码但忘记的
这种情况通过重置密码即可。
第一步:重置密码的第一步就是跳过MySQL的密码认证过程,具体方法看情况一。
第二步:使用sql来修改root的密码,方法如下:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword'
mysql> flush privileges;
mysql> mysql > \q;
到这里root账户就已经重置成新的密码了。
第三步:修改my.cnf,去掉刚才添加的内容,然后重启MySQL。大功告成!