windows10下mysql5.7安装中的那些坑--登录以及密码过期

本文主要解决mysql5.7安装过程中无法登陆(无密码问题,需要设置初始密码)以及改了密码却提示密码过期(expired),需要reset密码的问题


新的mysql安装不知为何很多坑,这里稍作介绍,防止大家跳坑。

从官网下载社区版的mysql压缩包,我下的是5.7.16

解压到自己喜欢的对应文件夹

1、然后编辑解压文件夹根目录下的my-default.ini文件

 basedir = D:\Program Files\mysql-5.7.16
 datadir =D:\Program Files\mysql-5.7.16\mysql-5.7.16-winx64\data
 port = 3306

我只是更改了这几行,其它没有做任何处理,后期装好mysql应该可以在数据库里面自己改

2、将解压的文件夹里面的bin文件加入到path环境变量中(这样命令运行更为方便)

3、以管理员身份打开cmd窗口后,将目录切换到你的解压文件bin目录下。再输入mysqld install回车运行就可以了,注意是mysqld不是mysql。

(其实感觉将bin加入到了path中可以不将目录切换过去。当时确实是切了所以这么写)

4、运行完上面的没有问题之后,在运行mysqld  --initialize这条命令,这个主要是用来初始化data文件夹的,也就是第一步中配置的东西,运行完之后就可以看到上面目录下有data文件夹了

5、最后输入net start mysql,在任务管理器中就可以看到这个服务了。

按理说到这就完成了,但是5.7.16到这坑才刚刚开始,你可以试着运行mysql命令,发现密码不是空的也不是root,总之你登录不了

//---------------填坑开始-设置初始密码--------------------

这个时候我们不知道登录账号名和密码,所以,我们在管理员权限下运行cmd命令将目录切到bin下

1、在服务中找到mysql服务,右键停止

运行mysqld --defaults-file="D:\Program Files\mysql-5.7.16\mysql-5.7.16-winx64\my-default.ini" --console --skip-grant-tables

目录以及文件名根据实际需要替换,这个时候你会发现窗口打印了不少东西而且一直在打印

2、打开另外一个cmd窗口,运行

mysql -uroot -p回车

这个时候会让你输入密码,直接回车,进去了。

3、分别输入下面两个命令

use mysql;

update user set authentication_string=password("123456") where user="root";

//将密码设置为12345

然后运行flush privileges这个命令刷新数据库

退出,关闭之前打开的cmd,重新运行cmd,启动mysql服务(右键其实很快,当然net命令也是可以的)

然后mysql -uroot -p

输入12345就进去了

//----------------第一个坑就这么解决了-----------------

这个时候你运行show database命令会发现提示密码过期!

当然我是继续安装navicat后连接发现无法连接 the password has expired!大致意思是这样的

//---------------密码过期,expired问题的解决

进入mysql后,直接输入下面的命令

SET PASSWORD = PASSWORD('123456');

然后你会发现show databases;竟然可以用了,navicat也可以连接了


参考文献

http://jingyan.baidu.com/article/af9f5a2d16fa4d43150a4552.html

http://blog.csdn.net/nayanminxing/article/details/45242251

链接中图片较为丰富,介绍也比较全面,但是我用过后没有完全解决问题,所以在上面的基础上做了整理,根据实际的安装过程做了一些变化。

如果还有问题,欢迎留言。

你可能感兴趣的:(数据库)