我已经在Ubuntu上安装了mysql ,并启动它的文档说:
调用mysql.server 。 此脚本主要用于在使用System V风格运行目录(即/etc/init.d和运行级别特定目录)的系统上的系统启动和closures,通常以名称
mysql安装。 mysql.server脚本通过调用mysqld_safe启动服务器。
但是, /etc/init /etc/init.d的mysql文件只是链接到/lib/init/upstart-job ,而/etc/init的mysql.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
我有两个问题:
mysql启动在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发言。