这两天装了一个mysql 5.7数据库,但是在本地dos登陆不上去,报错Access denied for user 'root'@'localhost'(using password:YES);

也是网上找了各种方法,发现没有一个正确的,我就自己琢磨琢磨用别人的方法做了点改变,最后还成功了,啧,挺高兴的。又能愉快的学习了!

1,打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。
2,重启MySQL服务。
3,通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库(最好用管理员运行cmd!)。
4,执行“use mysql;”,使用mysql数据库。

5,执行“ select * from user where user='root';”

你会看到很多乱码,其实不是乱码,这是mysql用户数据库,如下图:

 authentication_string 这个字段就是用户root的密码了,我们来对他进行修改;可能不同版本数据库这个字段名称不一样,按照你的数据库中的字段来更新这个密码就行了。

6,执行“update user set authentication_string=PASSWORD("123456") where user='root';”(修改root的密码)
7,打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
重启MySQL服务。


ok,大功告成,你现在就可以连接数据库了!

希望对你有帮助!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐