本人的网站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)”错误的解决方法,仅供参考!