使 MariaDB 在启动时运行而无需网络

使 MariaDB 在启动时运行而无需网络

我正在运行一个计时器 Python 程序,该程序是我在装有 raspbian 的 raspberry pi 上制作的。计时器的理念是当 pi 启动(systemd)时启动,当 pi 拔下电源时停止。它以固定的间隔保存到 MariaDB 数据库,这样当拔下电源时,其状态将被保存。我的问题是 MariaDB 是一个依赖项,而 MariaDB 直到联网后才会启动。由于 dhcp 需要时间才能启动,所以我的程序直到联网和 MariaDB 启动后才会启动,而这需要 10 秒以上。

有没有办法仅在本地主机上运行无需网络的 MariaDB,并在 dhcp 完成之前启动它?

答案1

不确定 mariadb 能否在没有网络的情况下运行,但 peterh 的解决方案基本上是正确的。在我的测试服务器上,“After=”部分中还有一个“syslog.target”。如果您不依赖于 mariadb 启动期间的日志记录,也许您也想尝试删除它。但我真的不知道 syslog 启动的速度有多快,所以这可能不会显著加快速度。

无论如何,你需要通过重新加载来告知 systemd 你的更改,如下所示

sudo systemctl daemon-reload

否则 systemd 将不会改变启动顺序,并且您的更改将被忽略(除非您重新启动整个系统,这也有效)。

此外,请注意,当您尝试覆盖整个 systemd 服务文件时,您将只能使用该文件的版本。这意味着如果 mariadb 更新原始 /lib/systemd/system/mariadb.service,您的文件将不会更新,您可能会错过重要的更改。

相关内容