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

以前一直用的好端端的,此次启动服务忽然就报了这错误。 mysql

更好的阅读体验可访问 这里sql

原由

为了使用 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服务启动后中止,某些服务在未由其余服务或者程序使用时将自动中止spa

可是,此次我再次使用这种方法却无论用了.net

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

方法二

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

并不仅有绝对路径这一点,凡是 my.ini 出了问题都不能正确启动,根据本身的状况而定。code

总结

出现这种状况的缘由可能有多种,仔细想下出现这种问题的原由。根据你们的文章,再结合本身的问题通常均可以解决。 中途还发现:mariadb 可直接使用load_file函数,mysql新版本才须要考虑blog

相关文章
相关标签/搜索