Ubuntu

OpenDKIM 在 Ubuntu 18.04 上的 MariaDB 之前啟動

  • August 1, 2018

我在 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:pass@127.0.0.1/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:pass@127.0.0.1/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. 但我想要一些適當的解決方案來修復啟動順序。

謝謝你。

在 systemd 上,您可以更改服務的引導順序,更改其單元文件並在“之後”選項中設置它應該在什麼服務之後啟動。通常,該文件位於:

/lib/systemd/system/nameofservice.service

該行應該與此類似(使用正確的名稱更新)

After=mariadb.service

引用自:https://serverfault.com/questions/924435