在命令行输入mysql -u root –p,输入密码,或通过工具连接数据库时,经常出现下面的错误信息,相信该错误信息很多人在使用MySQL时都遇到过。
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)
1.停止服务
停止MySQL服务;
# windows
net stop mysql
# linux
service mysqld stop
2.跳过验证
修改MySQL安装目录下的my.ini配置文件,使登录时跳过权限检查;
#到mysql根目录找到mysql配置文件
vim my.ini
#在my.ini,[mysqld]下添加一行,使其登录时跳过权限检查
skip_grant_tables
3.修改密码
启动MySQL服务,登录MySQL,此时提示输入密码,输入任意密码回车即可进入MySQL。
#登录mysql
mysql -u root -p
然后通过SQL语句修改root用户的密码;
#将数据库切换至mysql库
mysql> USE mysql;
#修改密码
mysql> UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’;
#刷新MySQL权限相关的表
mysql> flush privileges;
mysql> exit;
4.重启服务
将my.ini文件中加入的跳过权限语句删除或加#号注释。
重启服务,使用修改后的密码登录即可。