由于某种原因,当我启动服务器时,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 脚本。
希望这可以帮助。