mysql报错ERROR 1045 Access denied处理方法

简介

配置环境时候,经常会碰到一些莫名其妙的问题,昨晚在部署lnmp之后,安装好mysql之后,我从phpmyadmin连接,就提示报错mysqli_real_connect():(HY000/1045): Access denied for user 'root'@'localhost' (using password: NO),如何解决,下方列出了例子

 

跳过验证

先停止数据库

/etc/init.d/mysqld stop

mysql安全模式运行,跳过权限验证

mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

 

登录修改密码

使用root登录mysql数据库

mysql -u root mysql

执行更新root密码,‘newpwd’替换你要修的密码

update user set Password = PASSWORD('newpwd') where User ='root';

mysql版本较新,使用下面这一段来重置密码

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

刷新权限

FLUSH PRIVILEGES;

退出mysql

quit

 

正常登录

重启mysql服务

/etc/init.d/mysqld restart

再次用root账户登录mysql

mysql -uroot -p

显示如下提示,你输入修改的新密码登录即可

Enter password: 
THE END