【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

最近自己在使用MySQL5.7.16.msi安装MySQL。自己下载的是.msi文件,在安装的过程中遇到了许多文件,网上大部分的Blog都是关于免安装包的安装方法,希望我的方法对大家有帮助。

1,下载MySQL5.7

到ORACLE官网社区下载MySQL5.7

2,第一次安装MySQL

打开msi文件,按照步骤依次输入信息即可,但有一点要提一下,

【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

服务器类型的选择:

Developer Machine(开发机器),个人用桌面工作站,占用最少的系统资源

Server Machine(服务器),MySQL服务器可以同其它应用程序一起运行,例如FTP、email和web服务器。MySQL服务器配置成使用适当比例的系统资源。

Dedicated MySQL Server Machine(专用MySQL服务器):该选项代表只运行MySQL服务的服务器。假定运行没有运行其它应用程序。MySQL服务器配置成使用所有可用系统资源。

根据自己情况选择即可,一般WEB服务器选择第二个。

注意:

这时候安装好的MySQL服务器表面上可以运行的。在安装的时候没有修改服务器的名称,那么这时候服务器的名称应该是MySQL57。

3,配置MySQl环境变量

在 “控制面板\系统和安全\系统” 中点击 “高级系统设置->高级->环境变量”

在系统变量中找到path,并且在最后附加上MySQL的安装下的bin路径,并且与其他的路径用分号隔开。

比如:

自己的MySQL安装在C:\Program Files\MySQL\MySQL Server 5.7\bin

那么只需要在path后面追加上“;C:\Program Files\MySQL\MySQL Server 5.7\bin”

到这里MySQL环境变量就配置好了。

4,清除“系统文件”缓存

在cmd管理员窗口中,

用 net stop MySQL57 可以关闭窗口,

用 net start MySQL57 可以开启窗口。

这时候看起来就一起正常。

但是如果出现了以下的情况就蛋疼了,

先说明清除了“系统文件”缓存,MySQL就会立即停止。

【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

我这儿用的是360软件清除系统缓存垃圾,有时候不清理系统缓存,在多次开关机后都会造成MySQL无法启动的情况。

然后再在cmd中输入net start MySQL57就会出现无法启动,

【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

用mysqld --console将错误信息输出

【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装

大家都知道MySQL5.7及其以上的版本在MySQL安装目录下都不会有data文件夹,我想最开始之所以MySQL能够启动主要就是系统文件中缓存了这个data目录,当系统文件被释放,自然就会报错了。

按照提示的错误,自己的C:\Program Files\MySQL\MySQL Server 5.7下没有data文件夹。

自己试了网上的方法,比如
mysqld --initialize

或是

mysqld --initialize -insecure

或是

mysqld --initialize-insecure --user=mysql

来生成一个data文件夹,并且按照网上的方法配置my-default.ini文件,

但是还是不能启动。

不过自己还在网上看到一种方法,就是把MySQL Server 5.6下的data文件夹拷到MySQL Server 5.7下,听起来感觉不太靠谱,就没尝试。

5,第二次安装MySQL

我在这儿没有使用多聪明的方法,就是再重新安装一个MySQL服务器。

步骤如下:

(1)卸载掉原有的MySQL服务器(最开始安装的时候MySQL服务器的名称就是MySQL57)

sc delete MySQL57

(2)安装一个MySQL服务器

mysqld --install

(3)创建一个data文件夹

mysqld --initialize-insecure

(4)启动MySQL服务器(这里创建的MySQL服务器默认的名称是mysql)

net start mysql

(5)建立与数据库的连接

mysql -uroot -p

然后输入密码,这个密码在创建的data目录下的错误日志(.err)文件中。

(6)重置密码

alter user
'root'@'localhost' identified by '新密码';

 
上一篇:JavaScript的六种数据类型与隐式转换


下一篇:javascript笔记整理(数据类型强制/隐式转换 )