欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL服务启动时显示本地计算机上的MySQL服务启动后停止。某些服务在。。。

程序员文章站 2023-09-09 09:01:05
之前一直用的好端端的,这次启动服务突然就报了这错误。 原文: http://www.hellomao.top/2019/06/01/mysql_enable_error/   作者: 小friend 起因 为了使用 LOAD_FILE 函数,在数据库配置文件 的 [mysqld] ......

之前一直用的好端端的,这次启动服务突然就报了这错误。
MySQL服务启动时显示本地计算机上的MySQL服务启动后停止。某些服务在。。。

原文:   作者: 小friend

起因

为了使用 load_file 函数,在数据库配置文件 my.ini的 [mysqld] 里添加 secure_file_priv=“一个绝对路径” 。之前添加过一次,成功使用完后加了注释,这次不过是再次把注释打开。然后就报了上述那个错误。

解决过程

这是我第二次遇到这个问题了。第一次遇到是因为很长一段时间没有使用mysql(不知道哪里出了问题),然后网上查询了解到一种方法,当时帮助我解决了问题,我还记了笔记。这是当时解决的过程,大家也可以参考一下。

方法一

  1. 先备份。找到mysql的data文件夹,把data里的数据库名文件夹以及ibdata1文件复制一份。
  2. 删除data文件夹
  3. 用管理员身份打开cmd,进入到mysql的bin目录下,输入命令初始化数据库文件(也就是data)。
    mysqld --initialize-insecure --user=mysql
  4. 把刚才复制的文件粘贴到新的data文件夹里替换
  5. 启动成功

当时主要参考的是这篇文章:解决 本地计算机上的mysql80服务启动后停止,某些服务在未由其他服务或者程序使用时将自动停止

但是,这次我再次使用这种方法却不管用了

由于我是在 还处于mysql命令行的状态下,停止了服务,当时怀疑是不是因为这点把文件搞坏了(后来证明并不是这样)。
并且上述方法之前确实解决了问题,所以一直想着这次为什么不起作用,,在重新删除、初始化好几次都不行的情况下,才把心思再次放回my.ini上。
然后把 secure_file_priv 那行注释掉,再次启动,竟然启动成功了。。无语。然后观察这一行,发现原来是我之前 secure_file_priv 使用的绝对路径,不知什么时候已经被我改掉了。然后mysql在启动的时候调用 my.ini 不能正确执行,故启动失败。于是,再次打开注释,更改了正确路径,就成功启动了。下面是总结的方法。

方法二

  1. 回想自己是否更改了 my.ini文件。
  2. 回想自己是否更改过 mysql 使用的文件夹的路径。
  3. 去 my.ini 里看下里面使用的绝对路径是否正确。
  4. 修改完后,保存配置,启动成功。

并不只有绝对路径这一点,凡是 my.ini 出了问题都不能正确启动,根据自己的情况而定。

总结

出现这种情况的原因可能有多种,仔细想下出现这种问题的起因。根据大家的文章,再结合自己的问题一般都可以解决。
中途还发现:mariadb 可直接使用load_file函数,mysql新版本才需要考虑