ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) 错误

初次安装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文件进行自定义。

使用如下方法即可解决,本人已验证可行。

另外一种情况就是,,你密码输入错误了,如果是初始化后第一次登录,出现这种情况的话,很大概率就是密码错误,初始化后的密码要认真查看,可能会因为空格、小数点等符号输错)
在这里插入图片描述
停止mysql服务:

service mysqld stop

修改配置文件无密码登录:

vi /etc/my.cnf

在最尾部加上:

skip-grant-tables

保存,启动mysql:

service mysqld start

登录mysql:

mysql -u root

查询mysql数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.00 sec)

选中mysql数据库:

mysql> use mysql;
Database changed

首先更新root密码为空字符串:

update user set authentication_string='' where user='root';

退出,删除之前步骤加上的 “skip-grant-tables” 然后重启mysql:

// 1,退出

exit

// 2,修改,删除最后的skip-grant-tables

vim /etc/my.cnf

// 3,重启

service mysqld restart

然后再登陆Mysql:

mysql -uroot

使用ALTER修改root用户密码,方法为 ALTER user ‘root’@’localhost’ IDENTIFIED BY ‘新密码’。如下:

ALTER user 'root'@'localhost' IDENTIFIED BY '你的密码';

然后再用exit退出,再次登陆mysql就需要使用密码了,密码就是刚刚修改的密码

解决方案2


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://zhuanlan.zhihu.com/p/141772012
https://cloud.tencent.com/developer/article/1188636

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值