Ubuntu下解决MySQL自启动,执行命令:
# chkconfig --list
The program 'chkconfig' is currently not installed. You can install it by typing:
apt-get install chkconfig
发现没安装chkconfig脚本,安装它:
root@www:~# apt-get install chkconfig
Reading package lists... Done
……
安装后执行:
# chkconfig --list | grep mysql
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
可见MySQL不是自启动服务。
用chkconfig让MySQL自启动时,执行命令报错:
# chkconfig -a mysql
/sbin/insserv: No such file or directory
mysql 0:off 1:off 2:off 3:off 4:off 5:off 6:off
网上提供的解决方法是:
# ln -s /usr/lib/insserv/insserv /sbin/insserv
执行命令,继续报错
# chkconfig mysql on
The script you are attempting to invoke has been converted to an Upstart
job, but lsb-header is not supported for Upstart jobs.
insserv: warning: script 'mysql' missing LSB tags and overrides
insserv: Default-Start undefined, assuming empty start runlevel(s) for script `mysql'
......
继续查找原因,发现是:
chkconfig命令是用于RedHat/Fedora发行版的,而对于像Ubuntu之类的Debian发行版,应该使用这个命令:
sudo update-rc.d mysql defaults
验证一下:
# chkconfig --list | grep mysql
mysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off
果然搞定了!
最后提醒一句,别忘了删除之前建立的符号连接
# rm -f /sbin/insserv