ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES/NO) 解决方案
1.停止mysql
发布于2018-08-17 14:13:36阅读 96.3K0
初次安装mysql,net start mysql,然后输入mysql -u root -p,
出现enter password,我直接点击回车,结果出现如果下错误:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)。
或者在 my.cnf 配置了密码
提示错误:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: YES)。
解决方案
MySQL安装时默认的用户是root,这里的root是指数据库的用户,root密码一般在初始化MySQL时存放在你的日志文件中,日志文件的存放路径可以通过my.cnf文件进行自定义。
使用如下方法即可解决,本人已验证可行。
1.停止mysql数据库
/etc/init.d/mysqld stop
(或者直接 kill -9 [PID] 杀进程!)
2.执行如下命令
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
3.使用root登录mysql数据库
mysql -u root mysql
4.更新root密码
mysql> UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=‘root’;
最新版MySQL请采用如下SQL:
mysql> UPDATE user SET authentication_string=PASSWORD(‘newpassword’) where USER=‘root’;
5.刷新权限
mysql> FLUSH PRIVILEGES;
6.退出mysql
mysql> quit
7.重启mysql
/etc/init.d/mysqld restart
8.使用root用户重新登录mysql
mysql -uroot -p
Enter password: <输入新设的密码newpassword>
参考:
https://cloud.tencent.com/developer/article/1188636#:~:text=ERROR%201045%20%2828000%29%3A%20Access%20denied%20for,user%20%27root%27%40%27localhost%27%20%28using%20password%3A%20YES%29%E3%80%82%20MySQL%E5%AE%89%E8%A3%85%E6%97%B6%E9%BB%98%E8%AE%A4%E7%9A%84%E7%94%A8%E6%88%B7%E6%98%AFroot%EF%BC%8C%E8%BF%99%E9%87%8C%E7%9A%84root%E6%98%AF%E6%8C%87%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E7%94%A8%E6%88%B7%EF%BC%8Croot%E5%AF%86%E7%A0%81%E4%B8%80%E8%88%AC%E5%9C%A8%E5%88%9D%E5%A7%8B%E5%8C%96MySQL%E6%97%B6%E5%AD%98%E6%94%BE%E5%9C%A8%E4%BD%A0%E7%9A%84%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E4%B8%AD%EF%BC%8C%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E7%9A%84%E5%AD%98%E6%94%BE%E8%B7%AF%E5%BE%84%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87my.cnf%E6%96%87%E4%BB%B6%E8%BF%9B%E8%A1%8C%E8%87%AA%E5%AE%9A%E4%B9%89%E3%80%82