如何让mysql自动启动? (仅限 linux-cli)

Posted

技术标签:

【中文标题】如何让mysql自动启动? (仅限 linux-cli)【英文标题】:How make mysql start automatically ? (linux-cli only) 【发布时间】:2012-04-09 04:54:11 【问题描述】:

如何在每次系统启动时启动 mysql ?我需要在我有我的博客的专用服务器(ubuntu 发行版)中使用它,但每次服务器出现故障时,启动 mysql 都会停止。 顺便说一句,我只能使用命令行。

【问题讨论】:

相关serverfault.com/questions/232046/… 【参考方案1】:

没有答案有帮助。最后,chkconfigupdate-rc.d 在我的机器上无法使用 MySQL。

解决方案,我有一个文件 /etc/init/mysql.override 其中包含

manual

我刚刚删除了那个文件

$ sudo rm /etc/init/mysql.override

【讨论】:

【参考方案2】:

使用 Debian 9,我今天安装了 MySQL,然后键入“rebo​​ot”,mysqld 自动重新启动。也从我的 VPS 仪表板重新启动,mysqld 自动重新启动。简而言之,如果您拥有 Debian 9,则无需做任何额外的事情,它就可以工作。

【讨论】:

【参考方案3】:

另一个寻找关于启动时启动和未启动的线索的地方...

/etc/init.d/.depend.start(及其关闭时的伙伴,.depend.stop)

这里有更多信息http://www.pyenet.co.nz/2-202-1-customising-system-startup-and-boot-processes/

我有 2 台服务器 - 启动后,1 台会运行 mysql,而另一台则不会。

在启动时启动 mysql 的盒子上:

chkconfig 甚至没有安装 从 /etc/rc?.d/* 中的任何脚本返回 /etc/init.d/mysql 的链接为零

但是... /etc/init.d/.depend.start 包含:

TARGETS = halt apache2 umountfs umountnfs.sh sendsigs networking umountroot reboot killprocs unattended-upgrades urandom mysql mdadm dns-clean landscape-client pppd-dns sysstat rsync sudo postfix single grub-common ondemand rc.local
INTERACTIVE = apache2
postfix: mysql
single: killprocs dns-clean pppd-dns
grub-common: apache2 unattended-upgrades postfix mysql mdadm dns-clean landscape-client pppd-dns sysstat rsync sudo
ondemand: apache2 unattended-upgrades postfix mysql mdadm dns-clean landscape-client pppd-dns sysstat rsync sudo
rc.local: apache2 unattended-upgrades postfix mysql mdadm dns-clean landscape-client pppd-dns sysstat rsync sudo

当我将此文件复制到问题服务器并重新启动时,mysql 已启动并运行。

【讨论】:

【参考方案4】:

我遇到了同样的问题,所以我首先检查了我是如何禁用它的:

https://askubuntu.com/questions/138487/how-to-keep-apache-and-mysql-from-starting-automatically

检查您的 /etc/init/mysql.conf 以确保您没有将 start on 注释掉(就像我一样)。

# MySQL Service

description     "MySQL Server"

author          "Mario Limonciello <superm1@ubuntu.com>"

start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
...

重新启动机器,它可以工作了。

$ sudo service mysql status
mysql start/running, process 972

【讨论】:

【参考方案5】:

删除 /etc/init/mysql.override 在我的情况下完成了这项工作(使用 Ubuntu 12.04 的 HostEurope VPS)

【讨论】:

【参考方案6】:

运行以下命令查看你的mysql当前状态:

/sbin/chkconfig mysqld --list

它将返回如下一行:

 mysqld             0:off   1:off   2:off   3:off   4:off   5:off   6:off

要在每次系统启动时启动 mysql,请键入以下内容:

 sudo /sbin/chkconfig mysqld on

'--list' 现在的结果是:

mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

【讨论】:

很好的答案。简单有效。 我的 CentOS 服务器总是在启动时启动 mysqld。但是从昨天开始就没有了。但是这个解决方案帮助了我。太好了,谢谢! 尝试应用此解决方案,但是当系统重新启动并检查我的 mysql 服务状态时,它显示:MySQL is not running, but PID file exists。我知道这是一个旧线程,但我们已经没有选择了。顺便说一句,/sbin/chkconfig mysql --list 命令输出似乎是公平的。我们已经尝试了此页面中的所有答案,但遗憾的是没有运气。 似乎甚至没有尝试在/etc/init.d/中运行脚本【参考方案7】:

update-rc.d 允许在 Ubuntu 和 Debian Linux 系统上设置初始化脚本链接,以控制在进入各种运行级别时由 init 运行哪些服务。它应该能够将 mysql 添加到启动时运行的服务列表中:

sudo update-rc.d mysql defaults

如果您以后想在启动时禁用正在运行的 mysql:

sudo update-rc.d mysql remove

【讨论】:

【参考方案8】:

您可以使用sysv-rc-conf 来完成它,在基于debian 的情况下您可以使用sudo apt-get install sysv-rc-conf 安装它 然后你可以选择启动时在守护进程名称上加上一个简单的 X,所有这些都通过命令行

【讨论】:

再次无法正常工作..我在所有运行级别加 S 中标记了 X mysql 但重新启动服务时 mysql 状态显示 mysql 停止/等待。 抱歉,顶行的数字是什么意思? 从 Ubuntu 12.10 开始,sysv-rc-conf 是下面推荐的 chkconfig 的替代品。它还允许您使用命令而不是 ncurses 接口,在本例中为:sysv-rc-conf mysql on 而 CentOS/RedHat 的等价物是 ntsysv(问题的标题建议使用 Linux 系统) 它在各种 Ubuntu 版本上对我来说就像魅力一样,但不会在 Debian 7 上创建符号链接。有趣的是,如果我退出并重新启动程序,它会保留我标记的“X”-es ,但守护进程不会运行,因为/etc/rcX.d/ 中的符号链接没有被创建。【参考方案9】:

按照手册页http://manpages.ubuntu.com/manpages/maverick/man8/chkconfig.8.html 使用chkconfig 命令

【讨论】:

以上是关于如何让mysql自动启动? (仅限 linux-cli)的主要内容,如果未能解决你的问题,请参考以下文章

让Mac启动的时候自动启动mysql

如何设置让MYSQL数据库,可以令其不会随电脑自行启动?

Linux-c编程实现简单的cp命令

如何启动仅限服务的 Android 应用

MySQL 自动增量是如何工作的?

如何不让mysql每次开机时自动启动