1. 进入MySQL安装的文件夹,打开my.ini配置文件

2. 停止MysSQL服务

mysql 免密登录 mysql免密登录失效_mysql 免密登录

 

--skip-grant-tables, 该命令指在数据库启动的时候 跳跃权限表的限制,不验证密码,直接登录。

mysql 免密登录 mysql免密登录失效_mysql_02

 

4. 启动mysql服务,提示无法启动,原因是mysql配置文件默认是ANSI编码格式,修改时保存成了utf-8格式

 

mysql 免密登录 mysql免密登录失效_mysql_03

5. 修改my.ini文件为ANSI编码格式,保存,点击启动服务,还是启动失败

mysql 免密登录 mysql免密登录失效_命令行_04

 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目录

 

mysql 免密登录 mysql免密登录失效_mysql_05

 

 

 7. 解决办法:命令行执行 mysqld --initialize-insecure --user=mysql

mysql 免密登录 mysql免密登录失效_mysql_06

8. 再次运行 mysqld --console --skip-grant-tables --shared-memory

mysql 免密登录 mysql免密登录失效_命令行_07

 

 

 10.无密码登入 mysql -uroot 回车确定。就登陆了系统。

mysql 免密登录 mysql免密登录失效_启动服务_08

 

 

 11. 如需再输入密码,可用以下语句设置

12.使用数据库 use mysql

14.刷新密码 update mysql.user set authentication_string=password('root') where user='root' ;

14.刷新权限,执行 flush privileges;