1. 进入MySQL安装的文件夹,打开my.ini配置文件,打开方式参考:https://www.cnblogs.com/leslie12956/p/11842956.html
2. 停止MysSQL服务
3. my.ini 文件添加命令 mysqld --skip-grant-tables, 该命令指在数据库启动的时候 跳跃权限表的限制,不验证密码,直接登录。
4. 启动mysql服务,提示无法启动,原因是mysql配置文件默认是ANSI编码格式,修改时保存成了utf-8格式
5. 修改my.ini文件为ANSI编码格式,保存,点击启动服务,还是启动失败
6. 原因:在my.ini中加入skip-grant-tables在mysql8.0中已失效。Mysql 8.X的方法是在命令行中使用mysqld --console --skip-grant-tables --shared-memory启动服务器然后root就可以免密登录了
使用mysqld --console --skip-grant-tables --shared-memory启动服务器,报找不到data目录
7. 解决办法:命令行执行 mysqld --initialize-insecure --user=mysql
8. 再次运行 mysqld --console --skip-grant-tables --shared-memory
10.无密码登入 mysql -uroot 回车确定。就登陆了系统。
11. 如需再输入密码,可用以下语句设置
12.使用数据库 use mysql
14.刷新密码 update mysql.user set authentication_string=password('root') where user='root' ;
14.刷新权限,执行 flush privileges;