继上上一篇《被Mysql的启动机制搞囧了……》之后,作为一名爱折腾滴兲朝淫民,我表示,我并没有放弃。
首先,在此澄清一下。
虽然,一开始,我没有成功实现,禁止Mysql的开机自动启动。
但是这并不是Mysql的Bug。
也不是先烈们提供的方法有问题。
细细总结了一下,才发现,其实,一切都是我的错。
是我太粗心了!
先烈们提供的方法是:
sudo gedit /etc/init/mysql.conf
然后修改里面的配置。
按照先烈们的示范,我将里面的:
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
改为了
start on (net-device-up
and local-filesystems
# and runlevel [2345])
stop on runlevel [0123456]
大家看看我修改后的代码,其实,问题就出在这里!
仔细看看,我犯了一个很“ 低级 ”,但是,确很致命的错误!
我的“ 注释 ”写错了!
额,你可能没有发现,但是让我来给你细细分析吧!
以我自己修改的代码为例,其实,与下面代码是等效的:
start on (net-device-up
and local-filesystems
stop on runlevel [0123456]
这么一展示,就明白了吧!
大家都知道“ # ”号是代码的“ 注释 ”符,也就是,如果在么行代码前面加了一个“ # ”,那么,这行代码就失效了!
也就是,你自己看看如下代码哈:
start on (net-device-up
and local-filesystems
stop on runlevel [0123456]
很明显的“ and local-filesystems ”后面掉了一个“ 右括号 ”,为啥?
被我给“ 注释 ”掉了呗!
所以正确的,被修改后的代码应该是这样子:
start on (net-device-up
and local-filesystems)
# and runlevel [2345])
stop on runlevel [0123456]
尤其注意,别忘记给“ and local-filesystems ”这句后面加一个“ 右括号 ”。
所以,经过校正之后,终于成功实现了——关闭Mysql开机自动启动。
并且,终于可以对Mysql实行 手工 启动、停止、重启了!
呃,至于,我是怎么发现这个问题的……
偶不停的查找关于Linux启动机制,服务,进程优先级的资料。
然后,不停的分析,得出——先烈们提供的禁止Mysql开机自动启动的方法,是绝对没有问题的!
于是,再返回去看原文,仔细比对,终于发现,偶犯下了一个“ 低级而致命 ”的错误。。
但是,不管怎样,面对这样的问题……
你看到了之后,会不会吐血呢……
哥你不给力啊~~
这样不就行了么?在root用户下,执行
chkconfig –level 345 mysqld on
而上篇的sudo service mysql start,你改成sudo service mysqld start就可以了。mysqld,不是mysql,加多一个d,就给力了
@无毒猪 , 呵呵,抱歉这里是ubuntu不是centos所以没有chkconfig,然后,由于新的启动机制,chkconfig也是搞不定的,它是套接的my.cnf定义。
这、、、这样子的呀。。不好意树啊mucid哥 我不知道这样的~~
@无毒猪 , 我也不是很明白,为什么要引入这样的机制。。