MySQL登录时出现Access denied for user ‘root‘@‘localhost‘ (using password: YES)
今天下午数据库实验课上设置一个新用户并允许其访问权限后使用mysql -u root登录失败,着实令人不爽
然后就寻找解决的办法,也许我这种对你的问题适用吧~
1.直接退出mysql
2.找到mysql安装目录下的my.ini,找到里面的[mysqld] 然后在下面加上这句:skip_grant_tables
3.保存后,管理员权限打开数据库(cmd cd 到bin 里),重启,就是用 net stop mysql;net start mysql
4.然后输入mysql -u root可以访问
5.输入 use mysql
6.update mysql.user set authentication_string = password("") where user=“root”;主要就是这里密码不用设置,如果设置了密码需要用 mysql -u root -p登录。
7.flush privileges;
8.退出数据库
9.将my.ini中的skip_grant_tables去掉
10.再次打开数据库,mysql -u root可以登录
11.检查访问权限是不是会被检查,我用之前设置的新用户登录后,输入错误的密码无法访问,说明检查了访问权限。
(不过同学好像直接重启就行了,我也不知道为什么