之前在配置Sonar时,安装了Mysql server和mysql client,每次启动计算机mysqld总是自启动,占用了我宝贵的内存资源和CPU资源,看着就觉得十分的不爽。早就想干掉它了。今天,天朗气清,阳光明媚,这个想法更加强烈。
Mysql的开机自启动是在/etc/init/mysql.conf中设置的,其中启动设置部分的内容为:
start on runlevel [2345] stop on starting rc RUNLEVEL=[016]
这里涉及一个runlevel的概念,百度了一下。
linux操作系统自从开始启动至启动完毕需要经历几个不同的阶段,这几个阶段就叫做runlevel,同样,当linux操作系统关闭时,也要经历另外几个不同的runlevel。Runlevel可以看作是系统的状态,进入每个runlevel都需要启动或关闭相应的一系列服务(services),这些服务(services)以初始化脚本的方式放置于目录/etc/rc.d/rc?.d/或者/etc/rc?.d下面(?代表runlevel的对应序号)。
大多数Linux发行版中,通常有8个runlevel,表示如下:
0 停机Halt the system(不可将initdefault设置为0)
1 单用户模式Single user mode
2 基本多用户模式Basic multi user mode(无Network File System)
3 多用户模式Multi user mode
4 没使用到该runlevel
5 带GUI的多用户模式Multi user mode with GUI
6 重新启动Reboot the system
S 单用户模式
多数的桌面的linux系统缺省的runlevel是5,用户登陆时是图形界面,而多数的服务器版本的linux系统缺省的runlevel是3,用户登陆时是字符界面,runlevel 1和2除了调试之外很少使用,runlevel S并不是直接给用户使用,而是用来为Single user mode作准备。
知道了这些后,很容易作出处理,即将mysql.conf中的start on runlevel注释调:
#start on runlevel [2345] stop on starting rc RUNLEVEL=[016]
sudo service mysql [stop|start|restart]
runlevel命令可以用来显示先前和目前正在使用中的运行模式:
$runlevel N 2
telinit命令(root用户)可以切换运行模式(注,没有把握不要运行这个命令):
通常,切换运行模式的目的是重启某些应用进程,比如XFree86(一种X window服务器程序,类似的有X org),将运行模式从5切换到3将终止XFree86以及与之相关的所有进程,然后再把运行模式切换到5,XFree86就可以很干净的启动。在做这些工作之前,请确保所有在XFree86下的工作都已经保存,用root用户:
$telinit 3 $telinit 5
要在某个运行模式中加入一个启动服务,首先要新建该服务启动脚本,然后把它放置于/etc/rc.d/init.d或者/etc/init.d/(根据你的linux版本有所不同),要将该启动脚本与运行模式关联起来,你需要这个运行模式的目录下建立一个与/etc/rc.d/init.d/下启动脚本的 symbolic link,文件名的前缀通常为SXX,XX为数字,这个数字是用来控制该运行模式下服务的启动顺序。脚本的执行顺序是按照数字大小升序执行,就是数字越小越先执行,下面就是一个在运行模式中加入启动服务具体的例子:
$ cp myservice /etc/rc.d/init.d/ $ ln -s /etc/rc.d/init.d/myservice /etc/rc3.d/S99myservice这样,下次以 runlevel 3 启动时, myservice 就会自动启动。
以某个runlevel启动
你可以自己制定启动时所进入的runlevel,如果你的系统使用的是lilo,在启动命令中将相应的部分为:
LILO: linux 5
如果你使用的是GRUB,在启动时你可以按住e键进入设置模式,相应的位置显示为:
kernel /vmlinuz ro root=/dev/hda1 5
备注:关于runlevel使用的部分,可能是涉及系统管理部分,相关的知识不是很熟,没有实践过。
没什么想说的。
[1]ubuntu mysql 取消开机自启动
[2]linux的Runlevel值
[3]runlevel:http://baike.baidu.com/link?url=XcMVONjDyK2NM2vI5E0tNVyFYdzSm040JkMd435ztoMEdlhX3AquzcB6XusM4yicaObtyJtn-VIMN_FkqdtiF_