MySQL 服务器 Upstart 脚本在启动时不起作用

MySQL 服务器 Upstart 脚本在启动时不起作用

由于某种原因,当我启动服务器时,MySQL 服务器的 Upstart 脚本不起作用,但是,在服务器启动后我sudo start mysql手动执行该脚本时,它确实起作用。

我正在运行 OpenVZ VPS,其中安装了 Ubuntu 10.04 和 MySQL 版本 5.1.41(来自存储库的最新稳定版本)。MySQL 是全新安装的,没有更改任何配置。

/etc/init/mysql.conf:

# MySQL Service

description     "MySQL Server"
author          "Mario Limonciello <[email protected]>"

start on (net-device-up
          and local-filesystems
      and runlevel [2345])
stop on runlevel [016]

respawn

env HOME=/etc/mysql
umask 007

pre-start script
    #Sanity checks
    [ -r $HOME/my.cnf ]
    [ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
    # Load AppArmor profile
    if aa-status --enabled 2>/dev/null; then
        apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld || true
    fi
    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
        }
        sleep 1
    done
    exit 1
end script

答案1

事实证明 Upstart 启动作业在 OpenVZ 上可能会遇到问题。

更改:

start on (net-device-up
          and local-filesystems
      and runlevel [2345])

到:

start on runlevel [2345]

为我解决了这个问题。

答案2

您可以使用名为工作管理sudo apt-get install jobs-admin。您可以通过在终端中输入来安装它。

一旦安装,您可以使用此工具管理包括 MySQL 在内的所有 upstart 脚本。

替代文本

希望这可以帮助。

相关内容