Problem att ansluta till mysql via tjänst vid boot.

Permalänk
Medlem

Problem att ansluta till mysql via tjänst vid boot.

Försöker köra en pickupbot i Discord. Har fått den att funka, men vill köra den som tjänst. Problemet är att det inte funkar vid boot. Jag får detta felmeddelande:

sudo journalctl -e -u gubbebot.service [sudo] password for bserver: jun 29 11:16:09 bserver python3.9[1136]: raise OperationalError( jun 29 11:16:09 bserver python3.9[1136]: pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost'") jun 29 11:16:09 bserver python3.9[1136]: The above exception was the direct cause of the following exception: jun 29 11:16:09 bserver python3.9[1136]: Traceback (most recent call last): jun 29 11:16:09 bserver python3.9[1136]: File "/home/bserver/PUBobot2-nextcord/PUBobot2.py", line 13, in <module> jun 29 11:16:09 bserver python3.9[1136]: from core import config, console, database, locales, cfg_factory jun 29 11:16:09 bserver python3.9[1136]: File "/home/bserver/PUBobot2-nextcord/core/database.py", line 13, in <module> jun 29 11:16:09 bserver python3.9[1136]: db = init_db(cfg.DB_URI) jun 29 11:16:09 bserver python3.9[1136]: File "/home/bserver/PUBobot2-nextcord/core/database.py", line 10, in init_db jun 29 11:16:09 bserver python3.9[1136]: return adapter.Adapter(db_address, get_event_loop()) jun 29 11:16:09 bserver python3.9[1136]: File "/home/bserver/PUBobot2-nextcord/core/DBAdapters/mysql.py", line 59, in __init__ jun 29 11:16:09 bserver python3.9[1136]: self.wrap_exc(e) jun 29 11:16:09 bserver python3.9[1136]: File "/home/bserver/PUBobot2-nextcord/core/DBAdapters/mysql.py", line 242, in wrap_exc jun 29 11:16:09 bserver python3.9[1136]: raise OperationalError() from e jun 29 11:16:09 bserver python3.9[1136]: core.DBAdapters.common.OperationalError jun 29 11:16:09 bserver systemd[1]: gubbebot.service: Main process exited, code=exited, status=1/FAILURE jun 29 11:16:09 bserver systemd[1]: gubbebot.service: Failed with result 'exit-code'. jun 29 11:16:10 bserver systemd[1]: gubbebot.service: Scheduled restart job, restart counter is at 5. jun 29 11:16:10 bserver systemd[1]: Stopped Discord Pickup Bot. jun 29 11:16:10 bserver systemd[1]: gubbebot.service: Start request repeated too quickly. jun 29 11:16:10 bserver systemd[1]: gubbebot.service: Failed with result 'exit-code'. jun 29 11:16:10 bserver systemd[1]: Failed to start Discord Pickup Bot.

Kör jag sen:

sudo systemctl restart gubbebot.service

Så startas den ok.

Min service ser ut såhär:

[Unit] Description=Discord Pickup Bot After=network.target #After=network-online.target #Wants=network-online.target [Service] Type=simple User=bserver WorkingDirectory=/home/bserver/PUBobot2-nextcord ExecStart=python3.9 PUBobot2.py Restart=always [Install] WantedBy=default.target

Jag gissar att det är något med rättighetsbekymmer med åtkomst till databasen. Någon som har någon idé vad som är fel?
Tycker det är konstigt att den startar ok med en restart.

Detta kanske inte är ett så stort bekymmer då jag alltid kan köra en restart på tjänsten vid reboot, men skulle gärna vill veta vad som är fel...

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable

Permalänk
Medlem

Det är inte så enkelt som att mysqld:n inte startar förrän efter du försöker starta denna service? Blir det nån skillnad om du lägger till After=mysql.service i din service-fil pss som du har network.target där?

Visa signatur

The power of GNU compiles you!
"Often statistics are used as a drunken man uses lampposts -- for support rather than illumination."

Permalänk
Medlem
Skrivet av kode:

Det är inte så enkelt som att mysqld:n inte startar förrän efter du försöker starta denna service? Blir det nån skillnad om du lägger till After=mysql.service i din service-fil pss som du har network.target där?

Jaja men! Det löste det hela.
Tänkte faktiskt i de banorna precis efter jag skrivit min fråga, men var osäker på vad jag skulle skriva efter "After=" i service-filen.

Tack för hjälpen!!

Visa signatur

ASUS ROG STRIX B450-F GAMING - AMD Ryzen 5 3600 3.6 GHz 35MB - Cooler Master - Hyper 212 Black Edition - Corsair 16GB (2x8GB) DDR4 3200Mhz CL16 Vengeance LPX - Kingston A2000 500GB M.2 NVMe - Fractal Design Define C Svart - 2 X Noctua NF-P14s redux-1200 140mm PWM - Corsair RM650X 650W v2 - ASUS GeForce GTX 1060 6GB DUAL OC - Raijintek Morpheus II Heatpipe VGA Cooler - 2 X Noctua NF-P12 120mm PWM - OS Debian 10 Stable