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

Ива*_*вац 80 mysql boot

目前,我的 MySQL 服务器在每次服务器启动时启动。出于几个原因,这是不受欢迎的行为。有没有办法禁用这种行为?

the*_*der 115

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

sudo systemctl disable mysql
Run Code Online (Sandbox Code Playgroud)

  • 的确。对于 15.04,这就是您寻求的答案。 (5认同)
  • 我确认它也适用于 Ubuntu **18.04** (3认同)
  • 顺便说一句,`sudo systemctl is-enabled mysql`帮助检查当前是否启用。 (2认同)

Kri*_*per 83

要防止 mysql 在启动时启动:

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

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

  3. 注释掉start on文件顶部附近的行,start on可能会分布在两行中,所以注释掉这两行。(评论#在开头补充)

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

service mysql start
Run Code Online (Sandbox Code Playgroud)

这里自由地采取

  • 对于启动时的多次启动,这是一个非常有用的答案。 (3认同)
  • 试过了,我有 ``/usr/sbin/mysqld`` 和 ``/bin/sh /usr/bin/mysqld_safe`` 正在运行。注释掉所有内容但没有帮助。 (2认同)

Yos*_*n42 12

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

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

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

如果您想了解您的服务器上运行的是哪个 init 系统,请阅读此答案


Wav*_*lor 9

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

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

sudo echo "manual" >> /etc/init/mysql.override
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅Upstart Cookbook 中的“禁用作业自动启动”部分。

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

sudo update-rc.d -f apache2 remove
Run Code Online (Sandbox Code Playgroud)

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

sudo update-rc.d apache2 disable
Run Code Online (Sandbox Code Playgroud)

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

sudo update-rc.d apache2 enable
Run Code Online (Sandbox Code Playgroud)

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


pec*_*eck 6

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

  • 这种方法在 16.04 上对我不起作用 (2认同)

小智 5

好吧,我在笔记本电脑上使用 Ubuntu 20.04。我面临的问题是 mysql 服务在启动时启动,需要 32 秒才能移动到启动序列中的下一步。所以我决定从启动顺序中禁用它以使其启动更快。为此,我遵循了以下步骤:

  1. 我通过命令检查了mysql运行状态:

    须藤服务 mysql 状态

结果显示状态如下所示的片段。在那里我注意到它的加载来源 - “加载(/lib/systemd/system/mysql.service;启用;供应商预设:启用)”

? mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Thu 2020-04-16 03:45:09 IST; 26min ago
Run Code Online (Sandbox Code Playgroud)
  1. 所以我决定使用 systemctl 命令禁用它:

    须藤 systemctl 禁用 mysql

上面命令的结果:

Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable mysql
Removed /etc/systemd/system/multi-user.target.wants/mysql.service.
Run Code Online (Sandbox Code Playgroud)
  1. 现在我可以使用以下命令手动启动/停止或检查 mysql 服务的状态:

    须藤服务 mysql 启动

    须藤服务 mysql 停止

    须藤服务 mysql 状态

我希望这可能会有所帮助。干杯。