如何在启动时阻止mysql运行?


55

目前,我的MySQL服务器会在每次服务器启动时启动。由于几个原因,这是不良行为。有没有办法禁用此行为?

Answers:


6

我可以想到两个Guis。从应用程序-> Ubuntu软件中心搜索“启动管理器”。安装后,您可以在系统->管理-> BootUP-Manager中找到它。另一个是Webmin。Webmin使用您的浏览器。安装后,将浏览器指向https:// localhost:10000 /查找服务,然后从那里开始工作。


2
这种方法在16.04上对我不起作用
Mostafa Ahangarha

76

为了防止mysql在启动时启动:

  1. 打开终端:Ctrl+ Alt+T

  2. 打开mysql.conf文件:nano /etc/init/mysql.conf

  3. 注释掉start on文件顶部附近的那一行,start on可能会分布在两行中,因此都注释掉。(评论#开头添加)

如果要手动启动mysql,请使用以下命令:

service mysql start

这里自由地采取


3
对于启动中的多个启动,这是一个非常有用的答案。
maniat1k 2012年

1
试过了,我/usr/sbin/mysqld/bin/sh /usr/bin/mysqld_safe运行。评论了所有内容,但没有帮助。
Emin Mastizada

IMO这是最好的答案。
simhumileco

在Linux Mint 18.2 Cinnamon中,我删除了/etc/init/mysql.conf并保持不变。Mysql服务器在启动时仍在运行。@thebugfinder解决方案为我工作
flydrifter

我可以在/ etc / init @ maniat1k中看到anacron.conf和whoopsie.conf
Prabesh bhattarai

72

从15.04开始,您可以简单地执行以下操作:

sudo systemctl disable mysql

4
确实。对于15.04,这是您想要的答案。
CommandZ

太棒了,终于找到了解决方案!其他方法对我不起作用。
rneves '16

我无法再次启动它,如何在命令后启动mysql?
rneves '16

您尝试过@rneves enable还是reenable
thebugfinder 2016年

1
我尝试过的@thebugfinder enable,我不知道reenable,但是enable强迫我重新启动计算机以再次启动mysql
rneves 2016年

8

现在,Ubuntu发生了很多变化。我认为从版本11开始。MySQL由Upstart处理,而Apache仍使用传统的SysV初始化脚本

对于MySQL,您可以使用Upstart中的新覆盖功能来修改启动行为:

sudo echo "manual" >> /etc/init/mysql.override

有关更多信息,请参见Upstart Cookbook中的“ 从自动启动中禁用作业 ”部分。

由于Apache仍然使用传统的SysV初始化脚本,因此您可以使用

sudo update-rc.d -f apache2 remove

/etc/rcX.d或删除链接,或者使用

sudo update-rc.d apache2 disable

通过将脚本从开始脚本更改为停止脚本来“禁用”脚本。这是可逆的

sudo update-rc.d apache2 enable

我从这里得到的大部分信息是:https : //askubuntu.com/a/40077/24678


如果您想恢复服务sudo update-rc.d apache2 defaults
Bentech

3

在Ubuntu 18.04中,sudo systemctl disable mysql将阻止mysql-server启动时自动启动。

对于Linux操作系统,有3个主要的init系统:SystemdUpstartSysV。尽管几乎所有Linux系统都在Systemd上运行。其他两个init系统也可能共存于您的系统中。

对于Systemd,使用命令sudo systemctl disable mysql;
Upstart使用echo manual >> /etc/init/mysql.override;
对于SysV,请运行以下命令sudo update-rc.d mysql disable

如果您想查找服务器上正在运行哪个初始化系统,请阅读此答案


2

或者,如果您真的像我一样懒惰,则可以打开终端会话,然后输入:

sudo perl -pi.orig -e 's/start\s+on/#start\s+on/' /etc/init/mysql.conf && sudo perl -pi.orig -e 's/and\s+/#and/g' /etc/init/mysql.conf

然后,您可以发出重新启动命令,然后系统将在不启动mysql的情况下启动。


1
此命令可以改进。它添加了+这样的句号:#start+on blahblahblah但是它起作用了!
Lucio 2013年

2

实际上,还有另一种方法可以通过sysv-rc-conf工具来完成。

您可以通过键入以下内容进行安装

sudo apt-get install sysv-rc-conf

它使您可以控制所有可用服务,包括在适当位置运行/停止它们以及在每个运行级别配置服务的操作。

编辑:您必须以根用户身份运行tis工具:

sudo sysv-rc-conf

0

您可以使用chkconfig工具包

$ chkconfig --level 345 mysqld off

2
请详细说明您的答案。您为什么认为这可以解决问题?例如,您可以添加指向手册的链接作为参考。
字节指挥官
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.