您的位置:首页 > 数据库 > MySQL

解决初次登录MySQL出现ERROR 1045 (28000):Access denied for user 'root'@'localhost'问题

2017-12-09 20:47 976 查看


解决初次登录MySQL出现ERROR 1045 (28000):Access denied for user 'root'@'localhost'问题

10969

成功启动MySQL服务器后,网上很多帖子表示用命令行:mysql -uroot -p 回车,然后无视密码输入再回车,就可以成功登录。

然而,我在使用mysql-50.7.11版本,win10下运行时,并不成功,报错:ERROR 1045 (28000): Access denied
for user 'root'@'localhost' (using password: NO)。

解决过程如下:(%MYSQL_HOME%表示MySQL解压根目录)

1、结束所有的MySQL进程,包括mysql.exe 和mysqld.exe

2、命令行进入%MYSQL_HOME%\bin目录,输入mysqld
--skip-grant-tables

此时命令行已无法再输入,另开一个命令行窗口。

3、命令行输入:mysql,即可登录数据库

4、此时要做的是修改密码,命令行输入:update mysql.user set authentication_string=password('123qwe') where user='root' and Host ='localhost‘;

即可修改成功。值得注意的是,密码名不叫password 而是坑爹的authentication_string!

此时再在任务管理器结束所有的MySQL进程,包括mysql.exe 和mysqld.exe,重新打开命令行窗口,启动mysql服务器,即可用新密码登录。

5、在登录,输入命令行,有个错误提示:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
它是在提示我们要重置密码。

回到%MSQL_HOME%\bin,输入下面的命令:mysqladmin -u root -p password(此处就是password单词,不是密码),然后根据返回的提示,先输入旧密码,然后输入新密码,确认即可。

Enter password: xxxxxx
New password: xxxxxx
Confirm new password: xxxxxx

这样就可以用新密码登录啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐