何らかの理由で、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
Upstart起動ジョブがOpenVZで問題を引き起こす可能性があることが判明しました。
変化:
start on (net-device-up
and local-filesystems
and runlevel [2345])
に:
start on runlevel [2345]
私のために問題を修正しました。
jobs-admin という名前のシンプルなGUIツールを使用して、upstartスクリプトを構成できます。ターミナルでSudo apt-get install jobs-admin
と入力してインストールできます。
インストールしたら、このツールを使用してMySQLを含むすべてのスタートアップスクリプトを管理できます。
お役に立てれば。