windows系统安装MySQL 及 踩坑经验总结

1. 环境配置


2. MySQL安装包下载

MySql安装包下载地址:https://dev.mysql.com/downloads/mysql/

使用google浏览器的话,浏览器会自动识别当前操作系统的版本并反馈给下载网站,所以,下载页面只有与当前操作系统对应的MySQL版本


下载后解压:D:\软件安装包\mysql-5.7.22-winx64

3. 配置环境变量:

变量名:MYSQL_HOME

变量值:D:\program file\mysql\mysql-5.7.22-winx64

path里添加:%MYSQL_HOME%\bin;

4. 生成data文件:

以管理员身份运行cmd

进入D:\program file\mysql\mysql-5.7.22-winx64\bin 

执行命令:mysqld --initialize-insecure --user=mysql  D:\program file\mysql\mysql\mysql-5.7.22-winx64目录下生成data目录

 

5. 启动服务:

执行命令:net start mysql  启动mysql服务,如果成功则如下所示:


提示:服务名无效...所下所示(继续步骤6)



6. 解决启动服务失败(报错

提示:服务名无效

解决方法:

执行命令:mysqld -install  即可(不需要my.ini配置文件 注意:网上写的很多需要my.ini配置文件,其实不my.ini配置文件也可以,我之前放置了my.ini文件,反而提示服务无法启动,把my.ini删除后启动成功了)


若出现下图,说明之前已经安装过其它的版本,需要先移除,使用命令:mysqld remove

 

7. 登录mysql:

登录mysql:(因为之前没设置密码,所以密码为空,不用输入密码,直接回车即可)

D:\program file\mysql\mysql-5.7.22-winx64\bin>mysql -u root -p

Enter password: ******


8. 查询用户密码:

查询用户密码命令:mysql> select host,user,authentication_string from mysql.user;

由于root用户初始密码为空,所以authentication_string字段为空。

 

9. 设置(或修改)root用户密码:

设置(或修改)root用户密码:

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

【注意】 "123456",此处引号中的内容是密码,自己可以随便设置,其中password()是一个mysql内置的加密函数,user表中存储的是加密后的密文,同时,我们登陆的时候,输入的明文密码会先经过加密再与存储于数据库中的密文对比,相同则通过。


mysql> flush privileges;  #作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变


再次查询用户名和密码:存储的是加密后的结果

mysql> select host,user,authentication_string from mysql.user;

10. 退出mysql:

mysql> quit

Bye

11. 踩坑经验总结

注意MySQL安装包的下载,切勿下载错了,笔者最初下载的是以下版本:


按照正常步骤重置root密码后,无法登陆,报错如下:


尝试了网上很多攻略均无法解决,最后发现,原来这个版本的password()函数使用方法与5.7版本很不一样,笔者没有找到相应的资料,但多次尝试均无法成功。于是,笔者重置密码采用了如下语句:

update mysql.user set authentication_string="123456" where user="root";  

flush privileges;

重置密码成功,但是退出后再次登录则报错,因为,存储的是明文密码,但是登录的时候却是先将明文加密后再与存储的密码对比,显然,而这是不一致的。

参考文献:https://www.cnblogs.com/reyinever/p/8551977.html

猜你喜欢

转载自blog.csdn.net/jin_kwok/article/details/80840308