在服务器启动时插入MySQL行

时间:2015-04-03 12:55:06

标签: mysql debian boot init runlevel

我有一个基于debian的私有服务器,我想知道,当服务器启动时,将行插入数据库的最佳方法是什么。我试图在基于PHP的监控站点上的通知中显示它。

我目前正在考虑一个简单的脚本(尚未确定语言)在启动时运行一次并在之后终止。那里有更好的解决方案吗?

编辑: 我在init.d文件夹中使用脚本在不同的运行级别上运行。目前,我唯一能够工作的是bash脚本,它插入了一行关于服务器启动的行。这是在rcS.d /.

问题是,例如,当我使用相同的方法运行脚本而运行级别为0或6时,脚本永远不会运行。我认为这可能是一个优先问题。请看下面的图片(优先级与apache的kill优先级等相同......)。脚本是按字母顺序运行还是以某种方式将所有优先级提高一个?

The priority is the same as the kill priorities for apache, etc...

1 个答案:

答案 0 :(得分:0)

MySQL有一个内置选项,可以在启动时执行SQL文件,这听起来像你想要的: https://dev.mysql.com/doc/refman/5.6/en/server-options.html#option_mysqld_init-file

您可以做的另一件事就是定期检查服务器的正常运行时间,并将其与已知值进行比较,或者检查它是否最近重新启动。

您最近使用启动脚本的想法也有其优点,问题是您需要确保它在 mysql启动后运行。 S01是优先级/顺序,因此您希望输入比MySQL更大的数字。

根据您使用的分布情况,如果系统使用的是upstart或systemd,这个数字可能不适用,而且这个数字要复杂得多。

crontab @reboot建议也很好。