Mysql5.7.10版本安装后空密码登录,退出后提示密码错误连接不上解决

这篇博文必须趁热打铁现在写,因为坑了我好几小时到半夜才解决。
几个小时前去mysql官网下载了最新版的mysql5.7.10,发现是个压缩包,不是以前的安装文件了,于是百度找了下安装方法:
这里我在表述一遍:
1:配置环境变量:
先把解压后的bin目录路径复制出来,配置一下环境变量,编辑path把bin目录路径丢进去。
2:初始化MySQL:
打开cmd,进入bin目录,执行代码:mysqld –initialize-insecure –user=mysql
当出现Service successfully installed表示MySQL服务已经安装了
3.启动mysql:
执行代码:net start mysql
4.登录:
执行代码:mysql -u root -p
由于安装好首次登陆,初始密码为空,直接回车就能登录
5.查看库:
执行代码:show databases;
坑爹之处:
当你重启电脑,或者关闭mysql服务时,你在启动服务重新登录发现之前的空密码不能登陆了!!!
提示这个错误:
Access denied for user ‘root’@’localhost’ (using password: NO)
我当时就觉得奇怪,因为我没有设置密码,就是使用初始化的空密码怎么现在不能登陆了呢?于是我尝试使用123456这个密码,结果提示这个错误:
Access denied for user ‘root’@’localhost’ (using password: YES)
这我就不高兴了,后来百度+谷歌好一会才发现,原来这个高版本安装好后初始化一个空密码,一旦重新启动密码就随机生成一个新的,有人说在green.err里面能找到,可是我这个文件都没找到。于是我就想法重置密码吧!
重置密码:(此法一样适用忘记密码的同学)
1:关了mysql:
打开cmd,执行代码:
net stop mysql
2.切换免密登陆模式:
执行代码:mysqld –skip-grant-tables
3.在开一个cmd,登录:
执行代码:mysql
4.修改密码:
执行代码:
update mysql.user set authentication_string=password(‘123456’) where user=’root’ and Host = ‘localhost’;
ps:特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了,而是将加密后的用户密码存储于authentication_string字段
5.刷新权限:
执行代码:flush privileges;
6.重新登录你的mysql去浪吧~

你可能感兴趣的:(mysql)