在此之前,先停服,将mysql停掉
我的电脑-》右键-》管理-》左侧导航栏-》服务和应用程序-》服务-》选中后,右侧查找mysql
管理员权限运行cmd
1.windows 10 cd无响应
命令1:cd E:\AppData\MySQL\MySQL Server 8.0\bin
命令2(命令1之后要输入切换命令才能换路径): E:
2.删除安装路径MySQL Server 8.0下的data文件(包含data文件夹都删)
3.重新初始化生成data
命令3 : mysqld --initialize-insecure mysqld --install
4.跳过密码登录
命令4:mysqld -console --skip-grant-tables --shared-memory
命令5:mysqld --console --skip-grant-tables --shared-memory
5.启动mysql服务,原来停服的位置,启动下
6.此时开启新的控制台。
命令1、2一致,进入\MySQL Server 8.0\bin目录下
命令6:mysql -u root -p
命令7:use mysql;
7.修改密码为空(建议为空,先把库连上):
命令8:UPDATE user SET authentication_string="" WHERE user="root"; flush privileges;
8.刷新调整
命令9:flush privileges;
如果没有root密码正确仍不能连的问题,到这步以后,退出账号重试,应该就可以了。
下面解决密码正确无法连接root问题:
9.创建个新用户(这是因为mysql不允许root登录localhost,密码正确也不行 会报错,缺少一个指向127.0.0.1的root,我觉得好麻烦,还是重新配一个账号,不搞root了。。。)
命令10:create user 'admin'@'%' identified by '123456';
命令11:flush privileges;
10.用其他工具连接数据库,或者新开个控制台连接(建议用可视化工具)
密码为空可以直接连,直接找到mysql中的user表,把admin角色的权限改成和root一样。
N改Y。。。
改了一晚上,改了个寂寞,我的root空密码的时候可以连,有密码的就不能连,创建新账号后,终于解决了这个问题,不想再深究了。。。好累。。