Ubuntu下设置MySQL自启动故障解决一例

Ubuntu下解决MySQL自启动,执行命令:

# chkconfig --list
The program 'chkconfig' is currently not installed.  You can install it by typing:
apt-get install chkconfig

发现没安装chkconfig脚本,安装它:

安装后执行:

# 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 

相关推荐