我在 Ubuntu Server 18.04 上安装了 OpenDKIM,将其与 Modoboa 一起使用,因此配置文件包含用于连接到 MariaDB 的 KeyTable 和 SigningTable 的 DSN。我注意到该服务在重新启动时总是无法启动,但之后我可以手动启动它没有问题,所以我检查了 syslog 并看到了这些行:
Jul 31 10:28:35 mail opendkim[897]: opendkim: /etc/opendkim.conf: dsn:mysql://opendkim:[email protected]/modoboa/table=dkim?keycol=domain_name?datacol=id: dkimf_db_open(): Can't connect to MySQL server on '127.0.0.1' (111)
Jul 31 10:28:35 mail opendkim[991]: opendkim: /etc/opendkim.conf: dsn:mysql://opendkim:[email protected]/modoboa/table=dkim?keycol=domain_name?datacol=id: dkimf_db_open(): Can't connect to MySQL server on '127.0.0.1' (111)
Jul 31 10:28:37 mail mysqld[1688]: 2018-07-31 10:28:35 139849791634560 [Note] /usr/sbin/mysqld (mysqld 10.1.29-MariaDB-6) starting as process 868 ...
Jul 31 10:28:41 mail /etc/mysql/debian-start[2018]: Upgrading MySQL tables if necessary.
从这里,您可以看到 mysqld 在 OpenDKIM 之后立即启动,我尝试使用 :
update-rc.d mysql defaults 50
和切换顺序update-rc.d opendkim defaults 95
,这将 mysql 移动到 OpenDKIM 之前,但它仍然没有时间初始化所以它没有启动任何一个。
现在我使用自定义启动脚本修复了它,该脚本具有sleep 10 && systemctl start opendkim
. 但我想要一些适当的解决方案来修复启动顺序。
谢谢你。