只能说这个问题贼恶心,搜了大量资料,改了好长时间,接下来这个方法应该没问题
先看某度上的解决方法:在cmd中进入安装mysql的bin目录下或直接在mysql command命令窗口(一般在开始菜单中)中登陆mysql> mysql -u root -p ,然后再改权限
来试下效果:
这第一步进都进不去了 还改个毛权限??
于是继续找方法。。。。。终于找到了一个可以的,最后再加上我自己的解决方法 完美解决
首先在mysql的安装目录下找到 my.ini文件,之后用记事本打开,找到[mysqld] 这一行,在它的下面加入两条语句
skip-name-resolve
skip-grant-tables
个人觉得只加入skip-grant-tables也行
之后记得保存退出,然后在服务里面重启mysql服务。再次回到cmd转到安装 MySQL的bin目录下,利用mysql -u root -p进入mysql ,密码直接回车跳过
进来了,然后再改权限,允许root用户从本地local host连接到mysql,并以123456作为密码
mysql> grant all privileges on *.* to root@'localhost' identified by '123456';
结果是:
它说现在权限是刚才配置的skip-grant-tables,大体意思是权限为直接跳过表的权限,所以不能执行这条语句。那我今天还非执行不可了。利用mysql> flush privileges;来刷新权限
刷了半天,结果没卵用。只能多刷几次了
在刷了n+1次后终于tm的好了
继续执行改权限的语句
o**k 了,终于解决了,综上,秘诀就是用 flush privileges语句多刷几次,直到执行成功后,紧接着执行那条改权限的语句
grant all privileges on *.* to 'root'@'localhost' identified by '123456';应该一次就能执行成功,否则多执行几次。最后重要的一点:在以上语句执行成功后,一定要把刚才在my.ini中加入的两条语句
skip-name-resolve
skip-grant-tables 删除 保存退出,之后 在服务中重启mysql服务即可。
我也感觉这样很恶心,但是没办法,数据库还得用,程序猿还得做。
================2022.02.28===============================
没想到这么多同学遇到了这个问题,这篇文章是我大三时写的,当时年少无知,再加上年少轻狂,对技术的认知过少,才写下来这样的烂文章!经历了两年多的社会毒打后,这篇文章如今在我个人看来确实垃圾!现在带给大家一种极其简单的MySQL安装方法,只需要30秒就能搞定!