Перед запуском mysql на сервере Ubuntu мне нужно запустить еще один скрипт, который настраивает несколько вещей. mysql запускается системой Upstart. Я никогда не слышал об Upstart, но теперь я прочитал документацию и думаю, что есть несколько вариантов того, как этого можно достичь, но я был бы признателен, если бы более опытный пользователь Upstart подтвердил или опроверг мои выводы.
Из четырех приведенных ниже вариантов я предпочитаю последний, поскольку он не требует изменения задания mysql.conf.
mysql.conf:
pre-start script
mkdir -p /mnt/mysql
[ -L /var/lib/mysql ] || ln -s /mnt/mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=mysql
chown mysql:mysql /var/lib/mysql/mysql/.
chown mysql:mysql /var/lib/mysql/mysql/*
end script
mysql.conf
pre-start exec /var/myscriptfile (where myscriptfile contains mkdir -p /mnt/mysql etc)
mysql.conf
start on started mysql-primer
(where mysql-primer is an Upstart job that does mkdir etc)
mything.conf
start on starting mysql
task
script
mkdir -p /mnt/mysql
[ -L /var/lib/mysql ] || ln -s /mnt/mysql /var/lib/mysql
/usr/bin/mysql_install_db --user=mysql
chown mysql:mysql /var/lib/mysql/mysql/.
chown mysql:mysql /var/lib/mysql/mysql/*
end script
Спасибо, Пол.