mysql: 1045 access denied for user 'root'@'localhost' using password yes

原因是:root的密码错误了。

解决思路:关闭mysql服务,重新启动mysql服务,启动mysql的时候,指定不需要校验密码。然后登陆mysql,修改密码,退出。再重新启动mysql服务。

1、关闭mysql

2、启动mysql,指定不需要校验密码

C:Program FilesMySQLMySQL Server 5.1in>mysqld --defaults-file="C:Program
FilesMySQLMySQL Server 5.1my.ini" --console --skip-grant-tables

3、再开一个窗口,root登陆,修改密码

C:Program FilesMySQLMySQL Server 5.1in>mysql -uroot mysql   (解释: -uroot mysql    后面这个mysql指的是连接到mysql库,因为跳过权限验证,所以这时候可以不用密码就可以登录mysql)
mysql>

mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root'; 
mysql> FLUSH PRIVILEGES; 
mysql> quit 

 4、再重新启动mysql

linux下面,找到/usr/libexec ,执行 mysqld --skip-grant-tables;

原文地址:https://www.cnblogs.com/nzbbody/p/4308822.html