起因:
上周安装完mysql后,成功新建了数据库,一切都是正常的,于是就先搁置一旁。今天周一过来,却突然发现无法连接mysql了。
过程:
第一反应是服务没有启动,毕竟重启了电脑,说不定是服务没有自动启动,于是打开了服务管理器,却发现没有mysql对应的服务。既然没有,那我就自己手动创建一个,找到mysql的安装目录,我的是在C:\Program Files\MySQL\MySQL Server 5.7\bin下,在此目录下以管理员身份打开cmd,输入mysqld -install MySQL57,其中的MySQL57是自定义服务名,回车即可:
然后在服务管理器一刷新,就能看到新建的服务了,右键启动,结果没反应,那就是启动失败了。
换一种方式启动,在system32下输入net start MySQL57(下图mysql应换成MySQL57),显示无法启动,也没有报告任何错误,那就再深入探究一下。
既然窗体没有看到错误报告,那就看看有没有日志生成,日志的记录位置存放在配置文件中,那么首先用Everything找到my.ini,我的存放在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
实际上错误日志就在my.ini同目录下的Data文件夹中,找到后缀名为.err的文件,打开,发现没有今天的日志,最后一条记录还是上周的。
既然此路不通,那就另寻他路。直接启动mysql试试,以管理员权限打开cmd,进入MySQL安装目录bin下,执行mysqld --console
这次就很明显看到,是因为在安装目录下没有找到data文件夹导致的。查询配置文件,是可以看到有指定datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data,这个路径并不在安装目录下,那么很明显就是MySQL启动的时候,配置文件没有生效,所以它就去寻找默认的Data路径。
my.ini配置文件是之前安装的时候自动生成的,但生成的位置却不在安装目录下,我寻思着是不是得给它换个位置。于是将my.ini拷到安装目录下。
再执行mysqld --console,果然成功。
关掉cmd窗口,再去服务管理器右键启动服务,也成功了。
用HeiDiSQL测试了一下,又能连接数据库了。到此结束,完美撒花。
结语:
懒得写。
标签:服务,错误,启动,mysql5.7,MySQL,ini,mysql,my,连接 From: https://www.cnblogs.com/magicMaQaQ/p/17712264.html