如何让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】:没有答案有帮助。最后,chkconfig
和 update-rc.d
在我的机器上无法使用 MySQL。
解决方案,我有一个文件 /etc/init/mysql.override 其中包含
manual
我刚刚删除了那个文件
$ sudo rm /etc/init/mysql.override
【讨论】:
【参考方案2】:使用 Debian 9,我今天安装了 MySQL,然后键入“reboot”,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)的主要内容,如果未能解决你的问题,请参考以下文章