问题:(MySQL 5.5.40 windows版)
在命令行报错:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
解决方案:
1、步骤一:关闭数据库服务端mysqld程序
在cmd中输入services.msc,找到mysql并关闭
2、步骤二:跳过权限登录MySQL 服务器端
在my.ini中修改登录权限,写入skip-grant-tables 跳过输入密码步骤
>>mysqld --skip-grant-tables
3、步骤三:修改密码
登录mysql,执行以下语句
update mysql.usersetauthentication_string=password('123456')whereuser='root';
flush privileges;
接着执行:SELECT * from mysql.user\G; 查看服务器端所有的用户信息,重点查看User、Password、authentication_string这三项。这条语句非常关键。
找到root用户的authentication_string这项,并把它的值记下来。
MySQL会给密码进行加密,你想要设置的密码进行加密后的值就等于此时authentication_string这项的值
再执行:
update mysql.usersetpassword='*7297C3E22DEB91303FC493303A8158AD4231F486(authentication_string的值)'whereuser='root';
4、步骤四:重新登录
退出之后将my.ini的skip-grant-tables删掉
并且使用刚刚自定义的密码重新登录即可