今天在一台电脑上安装Mysql的时候,初始化总是报错,我试了很多遍,格式也没有错误,顺序也没错,文件也没有错误,几乎一切都很正常,但是就是会报错。
于是我就一个一个去查。
一开始它报了三个错误。
我先查第一个。
即安装过程中出现:e:\java_software\mysql-5.6.21-winx64\mysql-5.6.21-winx64\bin>mysqld mysql
2017-04-01 10:44:04 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use –explicit_defaults_for_timestamp server option (see documentation for more details).
解决办法:需要在my.ini 下添加
explicit_defaults_for_timestamp=true
果然,在添加完这局话之后再次初始化,就只剩下两个报错语句了。
接下来再查剩下的错误
2017-06-26T02:33:40.215791Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2017-06-26T02:33:40.215877Z 0 [ERROR] Aborting
查了很多文章,发现大多数文章的方法都不试用于这里。
最后在一个博主的文章中发现了问题。
原来,MySQL的解压路径中有了一个data,并且里面包含了数据,这会使mysql在初始化的时候终止初始化并报错。
在删了这个文件夹之后,成功地初始化安装并启动。
虽然安装成功了,可是我明明记得一开始的时候是没有data文件夹的呀,为什么后来又有了呢?我之前虽然也尝试初始化了几次,可是也没有成功呀?
后来我发现,我之前配置环境变量出错了,那时候还初始化了几次,虽然没有完全成功,但是肯定创建了data文件夹并写入了数据。
因此,如果大家初始化出错了,最好检查一下是不是有data文件夹且其中还有文件。最好每次初始化的时候都检查一遍,如果有data,就把data删除,再初始化。