MySQL因secure_file_priv路径问题引发服务启动故障

文章标题:Windows下MySQL因secure_file_priv路径问题导致服务启动故障

文章内容:有一个MySQL安装在Windows系统中,某位同事在通过into outfile命令将本地数据库的数据导出到secure_file_priv指定的路径后,把包含secure_file_priv的文件夹以“剪切”的方式移走了,也就是说secure_file_priv指定的路径不再存在。过了若干天后,服务器重启时发现MySQL无法启动。

通过手动启动的方式无法让MySQL启动,报错提示“本地计算机上的某个服务启动后又停止了。如果某个服务没有被其他服务或程序使用,它会自动停止”,要是不知道是secure_file_priv引发的问题,这个启动报错根本没有什么帮助。

  1. 在系统层面,查看Windows系统日志并没有找到明确的相关信息。通过命令行启动时,仅仅报出一个system error 5 has occurred的错误,没有什么参考价值。
  2. 在MySQL层面,出现这个错误情况时,errorlog中没有生成任何有用内容。

手动重启服务、重启系统,都没办法让这个MySQL服务启动起来,一开始特别让人绝望。然后逐个检查配置文件的每一个配置项,没发现问题。这是个准生产环境,数据库无法启动就意味着所有业务都没法开展。接着对MySQL配置文件里的几十个参数逐个注释掉然后尝试启动,最后发现把secure_file_priv注释掉后就能启动了,真的是经历了不少波折啊……

之后尝试直接在控制台用mysqld结合配置文件的方式启动,也能够直接显示出具体的错误信息。

尝试发现,要是在Linux下,这个错误表现得非常明确,直接就会告知secure_file_priv的路径无效,同时会在MySQL的errorlog里生成明确的错误日志。对于Windows操作系统下的MySQL,还是得慎重对待,实在有点差劲。

相关文章

暂无评论

暂无评论...