MySQL输入密码出现ERROR 1045(28000)ACCESS denied for错误解决方法

本人的网站www.appjzw.com是安装centos7系统下面,采用的是LAMP环境,使用的是MySQL环境,今天准备进入数据库更改字符段时,发现无法进入数据,输入密码回车后出现“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ”错误:

通过找了相关教程及本人的实践,大概20分钟左右解决,下面简单总结下解决过程。

1.停止MySQL服务,命令如下

service mysqld stop

2、修改MySQL安装目录下的my.cnf配置文件,使登录时跳过权限检查,文件位于 etc/my.cnf,命令如下:

cd /etc/

vi my.cnf

打开之后,#在my.cnf文件中添加一行,使其登录时跳过权限检查

skip_grant_tables

3、启动MySQL服务,登录MySQL,此时会要求输入密码,输入任意字符回车即可进入MySQL。

#启动MySQL

service mysqld start

#登录mysql

mysql -u root -p

4、到这里就可以通过SQL语句修改root用户的密码;

#将数据库切换至mysql库

mysql> USE mysql;

#修改密码

update mysql.user set authentication_string=password('root') where user='root' ;

#通过以上更新命令,将password括号后面的root更改成你常用的密码(即数据库密码)。

#注意:如果是MySQL5.7以下版本,那么将上面的命令替换成:

mysql> UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’;

#刷新MySQL权限相关的表

mysql> flush privileges;

mysql> exit;

5、重启服务MySQL服务;

#弄好之后,将此前my.cnf文件中加入的跳过权限语句(即skip_grant_tables)删除或加#号注释,最后重启MySQL

service mysqld restart

#这样用新设置的MySQL密码登录数据库即可。

以上就是centos7系统中进入MySQL数据库出现“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”错误的解决方法,仅供参考!