MySQL 登录报错 Access denied for user 'root'@'localhost' (using password: NO) 的解决办法

这个问题是在Windows下安装MySQL服务时遇到的,安装完成后,连接到MySQL服务时输入命令 “ mysql -uroot -p ” ,因为时第一次登录,未设置密码,直接回车,就遇到了这个问题,错误信息如下:

“ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)  ”

如下图:

解决办法:

首先需要关闭MySQL服务,输入命令:

mysql> net stop MySQL

用安全模式开始本地MySQL服务,(注意:以管理员身份启动cmd窗口),输入命令 “ mysqld --defaults-file="G:\Install_Applications\mysql-8.0.11\my.ini" --console --skip-grant-tables ” 启动MySQL服务后,光标会一直停止没有任何输出,这儿的话说明MySQL服务已经启动了。

启动cmd窗口,输入命令 “ mysql -uroot -p ” 直接回车登录到MySQL服务器,然后进行修改,可以输入命令:

(5.7.11以前) > update user set password=password("123456") where user="root";

(5.7.11 或者以后)> update user set authentication_string=password("123456") where user="root";

在这儿我是用的是:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'HuaZai12345!';

如下图:

现在退出,在输入命令 “ mysql -uroot -p ” 在输入刚才设置的密码,就可以正常登录到MySQL服务器了,如下图:

ps:如果还不行,可以去mysql 数据库的user表,查看是不是有一条密码为空的数据,把它设置一下root密码就可以了

 

 

你可能感兴趣的:(mysql)