我在开发机器(笔记本电脑)上安装了 mysql(来自 repos),我不需要在每次启动时都运行守护进程。我已将 /etc/init/mysql.conf 复制到 /etc/init/mysql.conf.old,然后删除了“start on”行之后的所有内容。但是,重新启动后,我无法再通过 upstart 启动 mysqld:
$ sudo service mysql start
start: Unknown job: mysql
Run Code Online (Sandbox Code Playgroud)
这也失败了(此时尝试任何操作):
$ sudo service mysql restart
stop: Unknown job: mysql
start: Unknown job: mysql
Run Code Online (Sandbox Code Playgroud)
这是我的新贵脚本:
# /etc/init/mysql.conf
....
start on
stop on starting rc RUNLEVEL=[016]
Run Code Online (Sandbox Code Playgroud)
这是默认脚本:
# /etc/init/mysql.conf.old
....
start on runlevel [2345]
stop on starting rc RUNLEVEL=[016]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我读到的所有内容都表明,这就是可以防止服务在启动时启动的方法。有没有更好的方法来做到这一点,或者我在新贵脚本中犯了一个错误?
更新:我已将备份 conf 文件移出 /etc/init 并重新启动,认为可能存在冲突但暴发户仍然说Unknown job: mysql
Spa*_*apS 17
如果您使用的是 Ubuntu 11.04 或更高版本,则可以使用manual
/etc/init 中的关键字和 .override 文件来禁用自动启动:
sudo sh -c 'echo manual >> /etc/init/mysql.override'
Run Code Online (Sandbox Code Playgroud)
manual
有效地start on
从作业的配置中删除了该节。
如果您使用的是 Ubuntu 10.04,则可以执行以下操作:
sudo sh -c 'echo start on never >> /etc/init/mysql.conf'
Run Code Online (Sandbox Code Playgroud)
文件中的最后一个 start on
将覆盖任何以前的,所以这应该可以工作,尽管它假设没有调用never
.
归档时间: |
|
查看次数: |
31560 次 |
最近记录: |