web-dev-qa-db-ja.com

MySQLサーバーの起動スクリプトが起動時に機能しない

何らかの理由で、MySQLサーバーのUpstartスクリプトはサーバーの起動時に機能しませんが、サーバーが起動し、Sudo start mysqlを手動で実行すると機能します。

Ubuntu 10.04がインストールされ、MySQLバージョン5.1.41(リポジトリから最新の安定版)でOpenVZ VPSを実行しています。 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
5
Rowno

Upstart起動ジョブがOpenVZで問題を引き起こす可能性があることが判明しました。

変化:

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

に:

start on runlevel [2345]

私のために問題を修正しました。

7
Rowno

jobs-admin という名前のシンプルなGUIツールを使用して、upstartスクリプトを構成できます。ターミナルでSudo apt-get install jobs-adminと入力してインストールできます。

インストールしたら、このツールを使用してMySQLを含むすべてのスタートアップスクリプトを管理できます。

alt text

お役に立てれば。

1
aneeshep