为什么不“服务mysql启动”运行mysqld_safe?

我已经在Ubuntu上安装了mysql ,并启动它的文档说:

调用mysql.server 。 此脚本主要用于在使用System V风格运行目录(即/etc/init.d和运行级别特定目录)的系统上的系统启动和closures,通常以名称mysql安装。 mysql.server脚本通过调用mysqld_safe启动服务器。

但是, /etc/init /etc/init.dmysql文件只是链接到/lib/init/upstart-job ,而/etc/initmysql.conf文件是这样的:

 # MySQL Service description "MySQL Server" author "Mario Limonciello <[email protected]>" start on runlevel [2345] stop on starting rc RUNLEVEL=[016] respawn respawn limit 2 5 env HOME=/etc/mysql umask 007 # The default of 5 seconds is too low for mysql which needs to flush buffers kill timeout 300 pre-start script #Sanity checks [ -r $HOME/my.cnf ] [ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld /lib/init/apparmor-profile-load usr.sbin.mysqld LC_ALL=C BLOCKSIZE= df --portability /var/lib/mysql/. | tail -n 1 | awk '{ exit ($4<4096) }' end script exec /usr/sbin/mysqld post-start script for i in `seq 1 30` ; do /usr/bin/mysqladmin --defaults-file="${HOME}"/debian.cnf ping && { exec "${HOME}"/debian-start # should not reach this line exit 2 } statusnow=`status` if echo $statusnow | grep -q 'stop/' ; then exit 0 elif echo $statusnow | grep -q 'respawn/' ; then exit 1 fi sleep 1 done exit 1 end script 

我有两个问题:

  • 文档是否错误?
  • 我怎样才能configurationmysql启动在mysqld_safe下?

目前, mysqld_safe是MySQL 5.5的一部分 。 我不能说特定于Ubuntu的东西。

首先,看看mysqld_safe是否存在并可访问。 运行这个:

 which mysqld_safe 

如果它返回的是mysqld_safe程序的绝对path,如

 [root@**** mysql]# which mysqld_safe /usr/bin/mysqld_safe 

那么你可以replace

 exec /usr/sbin/mysqld 

 exec /usr/sbin/mysqld_safe 

然后, service mysql start

请先在开发/登台服务器上执行此操作。 为了强调,我不能为Ubuntu发言。