Hallo,
ich hoffe dieses Thema ist im richtigen Unterforum. Es geht darum, dass ich MySQL-Datenbanken in einem lauffähigen Docker-Container importieren will. Konkret: Das Docker-Image des Containers wird über das Dockerfile erstellt. Das habe ich schon erledigt und der Container ist einsatzbereit, d. h. MySQL läuft problemlos in dem Container. Der nächste Schritt besteht jetzt darin, die vorhandenen Datenbanken in den Container zu importieren. Und das möchte ich im Container über ein Shell-Skript folgendermaßen gestalten:
Beispiel für Codezeile im Shellskript example.sh: mysql < sql-befehle.sql
Das Shell-Skript soll über eine explizite Angabe im Dockerfile (über den ADD-Befehl) in das Image integriert werden und somit im Container dann später verfügbar sein. Über eine weitere Angabe im Dockerfile (RUN example.sh) soll dann dieses Skript automatisch beim Start des Containers ablaufen. Nun zum eigentlichen Problem: Es kommt eine Fehlermeldung beim Absetzen des Befehls mysql < sql-befehle.sql (Permission denied). Wie kann ich den MySQL-Account root@localhost so konfigurieren, dass ich den Befehl mysql < sql-befehle.sql ohne Eingabe eines Passworts ausführen kann? Das benötige ich als zwingende Voraussetzung dafür, dass mein Shell-Skript auch funktioniert.
Das Problem hierbei: Reiner SQL-Code zur Änderung des Passworts von root@localhost bringt mir nichts, da auch hier ein Passwort für root@localhost abgefragt wird. Es muss also über eine Konfigurationsdatei möglich sein, die Passworteingabe für root@localhost zu deaktivieren. Wie kann ich das erreichen?
ich hoffe dieses Thema ist im richtigen Unterforum. Es geht darum, dass ich MySQL-Datenbanken in einem lauffähigen Docker-Container importieren will. Konkret: Das Docker-Image des Containers wird über das Dockerfile erstellt. Das habe ich schon erledigt und der Container ist einsatzbereit, d. h. MySQL läuft problemlos in dem Container. Der nächste Schritt besteht jetzt darin, die vorhandenen Datenbanken in den Container zu importieren. Und das möchte ich im Container über ein Shell-Skript folgendermaßen gestalten:
Beispiel für Codezeile im Shellskript example.sh: mysql < sql-befehle.sql
Das Shell-Skript soll über eine explizite Angabe im Dockerfile (über den ADD-Befehl) in das Image integriert werden und somit im Container dann später verfügbar sein. Über eine weitere Angabe im Dockerfile (RUN example.sh) soll dann dieses Skript automatisch beim Start des Containers ablaufen. Nun zum eigentlichen Problem: Es kommt eine Fehlermeldung beim Absetzen des Befehls mysql < sql-befehle.sql (Permission denied). Wie kann ich den MySQL-Account root@localhost so konfigurieren, dass ich den Befehl mysql < sql-befehle.sql ohne Eingabe eines Passworts ausführen kann? Das benötige ich als zwingende Voraussetzung dafür, dass mein Shell-Skript auch funktioniert.
Das Problem hierbei: Reiner SQL-Code zur Änderung des Passworts von root@localhost bringt mir nichts, da auch hier ein Passwort für root@localhost abgefragt wird. Es muss also über eine Konfigurationsdatei möglich sein, die Passworteingabe für root@localhost zu deaktivieren. Wie kann ich das erreichen?