Ubuntu Upstart-MySQL启动前运行的脚本

Ubuntu Upstart-MySQL启动前运行的脚本,ubuntu,upstart,Ubuntu,Upstart,在Ubuntu服务器上启动mysql之前,我需要运行另一个脚本来设置一些东西。mysql是由Upstart系统启动的。我从来没有听说过Upstart,但我现在已经阅读了文档,我认为对于如何实现这一点,有一些选择,但如果有一位经验更丰富的Upstart用户能够确认我的结论,我将不胜感激 在下面的四个选项中,我倾向于最后一个,因为它不涉及更改mysql.conf作业 mysql.conf: pre-start script mkdir -p /mnt/mysql [ -L /var/

在Ubuntu服务器上启动mysql之前,我需要运行另一个脚本来设置一些东西。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
谢谢,
保罗你的最后一个想法完全正确:

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
开始事件会阻止在其上开始的任何任务,直到所述任务完成