Hallo,
ich möchte beim Systemstart ein Python-Script (liegt im home-Verzeichnis) automatisch ausführen lassen, welches u.a. auch diverse Werte in eine mySQL-DB (MariaDB) speichert.
Führe ich das Script manuell aus, funktioniert alles.
Lasse ich das Script über rc.local automatisch ausführen, so werden keine Datenbankeinträge erzeugt.
Der Befehl "systemctl status rc.local" sagt mir:
"pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")"
Damit der mySQL-Zugriff auch per Remote-Abfrage möglich ist, habe ich die Datei "/etc/mysql/mariadb.conf.d/50-server.cnf" bereits angepasst.
Vorher: bind-address = 127.0.0.1
Aktuell: bind-address = 0.0.0.0
Der Remote-Zugriff funktioniert grundsätzlich, wenn ich z.B. mittels mySQL-Client (an einem Windows-PC) DB-Abfragen mache.
Warum zum Teufel funktioniert der Datenbankzugriff über rc.local nicht?
Ich habe schon vieles probiert, komme aber einfach nicht weiter. ichBinVerzweifelt
Mittels Google bin ich u.a. auch auf diesen Artikel gestoßen:
https://serverfault.com/questions/8...5-28000-when-running-script-from-etc-rc-local
Zitat:
Wer kann mir helfen?
ich möchte beim Systemstart ein Python-Script (liegt im home-Verzeichnis) automatisch ausführen lassen, welches u.a. auch diverse Werte in eine mySQL-DB (MariaDB) speichert.
Führe ich das Script manuell aus, funktioniert alles.
Lasse ich das Script über rc.local automatisch ausführen, so werden keine Datenbankeinträge erzeugt.
Der Befehl "systemctl status rc.local" sagt mir:
"pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '127.0.0.1' ([Errno 111] Connection refused)")"
Damit der mySQL-Zugriff auch per Remote-Abfrage möglich ist, habe ich die Datei "/etc/mysql/mariadb.conf.d/50-server.cnf" bereits angepasst.
Vorher: bind-address = 127.0.0.1
Aktuell: bind-address = 0.0.0.0
Der Remote-Zugriff funktioniert grundsätzlich, wenn ich z.B. mittels mySQL-Client (an einem Windows-PC) DB-Abfragen mache.
Warum zum Teufel funktioniert der Datenbankzugriff über rc.local nicht?
Ich habe schon vieles probiert, komme aber einfach nicht weiter. ichBinVerzweifelt
Mittels Google bin ich u.a. auch auf diesen Artikel gestoßen:
https://serverfault.com/questions/8...5-28000-when-running-script-from-etc-rc-local
Zitat:
Ich verstehe die Aussage nicht wirklich, bzw. weiß auch nicht ob diese Beschreibung überhaupt mein Problem lösen würde.$HOME isn't set in the environment that /etc/rc.local runs in so mysql won't find the user's .my.cnf file.
You could fix this by either explicitly setting $HOME before running your command ...
export HOME=/root
Or explicitly set the config file to use with --defaults-file=/root/.my.cnf
Wer kann mir helfen?