MySql gebunde IP in der Datenbank ändern, wo?


sanobi

Recommended Posts

Hallo,

 

ich teste gerade für mich Filerun und hab es mit mySql verbunden. Soweit läuft es auch super. Ich hab am Anfang leider nicht auf die IP´s geachtet und nach dem Einrichten geändert. Jetzt kommt "Database error: SQLSTATE[HY000] [2002] No route to host" wenn ich das getan habe. Daher meine Frage, wo kann ich die gebunde IP in der Datenbank ändern? Sie müssen hinterlegt sein, da beim rücksetzen der IP´s alles wieder normal läuft.

 

Ich würde das gern wissen und entsprechend anpassen. Danke

Edited by sanobi
Link to comment
24 minutes ago, mgutt said:

Wie "in der DB"? Der Fehler klingt eher so als könnte die Applikation die DB nicht erreichen.

 

Ja, aber bei der Einrichtung der DB muss diese mit einer IP verbunden worden sein. Die Datenbank an sich ist erreichbar wenn ich sie mit phpmyadmin öffne (auf der neuen IP). Da das aber über den root Zugang läuft, muss die Datenbank selber irgendwie per IP aus der Anfangskonfiguration verknüpft sein. Also würde ich sagen, anders macht das für mich keinen Sinn. Sobald ich den Datenbank über die Ursprungsip laufen lasse gehts wieder.  Daher ist mein Rückschluss das die Datenbank mit der ursprünglichen IP verbunden sein muss. In den Containern ist alles richtig hinterlegt, was den Zugriff auf die Datenbank betrifft.

 

Grundsätzlich kann ich ja alles neu aufsetzen, war ja noch in der Grundkonfiguration. Aber nur weil man die IP Adresse der Datenbank ändert, kann das doch nicht zum Verlust der Verbindung führen wenn man die IPs in die Container selber richtig einträgt. Macht doch keinen Sinn?! Deswegen gehe ich, als Laie, davon aus das der Zugang zur Datenbank für den hinterlegten Nutzer mit einer IP verknüpft sein muss als die Datenbank angelegt wurde?!

 

Oder muss der Container mysql im bridge Modus laufen und darf keine eigene IP haben?

Link to comment
18 hours ago, sanobi said:

Jetzt kommt "Database error: SQLSTATE[HY000] [2002] No route to host"

der Fehler kommt wo ? ich schätze mal wie @mgutt auch, dass dieser in filerun kommt ... sprich, filerun kann nach deiner Änderung die Datenbank nicht mehr erreichen weil die Adresse bei Filerun ja hinterlegt ist ... Beispiel

 

image.thumb.png.4b385a7abb8af5a2c24b872191635799.png

 

jetzt weiß ich nicht wie sich filerun verhält wenn du diese im Nachgang änderst, erster Ansatz, prüfen ob du die geänderte Adresse auch beim filerun docker hinterlegt hast, wenn ja, im filerun Forum (wenn vorhanden) oder deren support kontaktieren ... im appdata Ordner von filerun nach einer config suchen wo das hinterlegt ist, usw usw usw ...

 

oder was meinst du genau ... ?

Link to comment
5 hours ago, alturismo said:

 

image.thumb.png.4b385a7abb8af5a2c24b872191635799.png

 

 

Ja, dort habe ich alles korrekt eingetragen. Okay. Dann muss ich mal da schauen ob es etwas als Lösung gibt. Die Adressen und Zugangsdaten sind in dem Container korrekt hinterlegt. Eine klassische für mich ersichtliche Config hab ich schon gesucht, aber nicht gefunden.

Edited by sanobi
Link to comment
52 minutes ago, sanobi said:

Okay. Dann muss ich mal da schauen ob es etwas als Lösung gibt. Die Adressen und Zugangsdaten sind in dem Container korrekt hinterlegt.

ich hab jetzt mal schnell geschaut, wird nach der Einrichtung anscheinend in eine Datei geschrieben

 

im unraid Terminal (/mnt/user/appdata/filerun < anpassen zu deinem Pfad) mit nano ... (oder wie auch immer du das editieren möchtest)

root@AlsServer:~# nano /mnt/user/appdata/filerun/html/system/data/autoconfig.php

 

hier dann server > entsprechend anpassen ...

<?php
$config['db'] = array (
  'server' => 'mariadb',
  'port' => false,
  'database' => 'filerun',
  'username' => 'filerun',
  'password' => 'filerun',
);
$config['url']['detected_root'] = 'http://192.168.1.88';

 

damit sollte es erledigt sein, wie erwähnt, du hast einen Denkfehler wenn ein Client nach einer Änderung nicht mehr zugreifen kann ...

 

ich hoffe du hast bei der Erstellung deines filerun users die ip nicht fix definiert, ansonsten kriegt der wahrscheinlich auch keinen Zugriff ;)
dazu dann bitte google, mariadb add IP (Range) acces to user ;)

Link to comment
25 minutes ago, alturismo said:

ich hab jetzt mal schnell geschaut, wird nach der Einrichtung anscheinend in eine Datei geschrieben

 

im unraid Terminal (/mnt/user/appdata/filerun < anpassen zu deinem Pfad) mit nano ... (oder wie auch immer du das editieren möchtest)

root@AlsServer:~# nano /mnt/user/appdata/filerun/html/system/data/autoconfig.php

 

hier dann server > entsprechend anpassen ...

<?php
$config['db'] = array (
  'server' => 'mariadb',
  'port' => false,
  'database' => 'filerun',
  'username' => 'filerun',
  'password' => 'filerun',
);
$config['url']['detected_root'] = 'http://192.168.1.88';

 

damit sollte es erledigt sein, wie erwähnt, du hast einen Denkfehler wenn ein Client nach einer Änderung nicht mehr zugreifen kann ...

 

ich hoffe du hast bei der Erstellung deines filerun users die ip nicht fix definiert, ansonsten kriegt der wahrscheinlich auch keinen Zugriff ;)
dazu dann bitte google, mariadb add IP (Range) acces to user ;)

 

Vielen lieben dank. Aber bringt leider auch nichts. Da hat man schon mal die Config. Den User kann ich nicht mal testen. Der Fehler bleibt, auch nach der Anpassung. Sehr merkwürdig.

Link to comment
8 minutes ago, sanobi said:

Vielen lieben dank. Aber bringt leider auch nichts. Da hat man schon mal die Config. Den User kann ich nicht mal testen. Der Fehler bleibt, auch nach der Anpassung. Sehr merkwürdig.

dann bin ich raus, hatte es hier nur zum Spaß schnell getestet und hier geht es so ... du wirst es herausfinden ;)

 

vielleicht noch ein Hinweis, viele Apps (unter anderem Filerun) speichern die Datei neu beim Schließen, sprich, ich hoffe du hattest filerun aus während der Änderung ...

 

gleich doch einfach mal ab was in der config steht und aus deinem docker tab wie mariadb zu erreichen wäre ...

 

image.thumb.png.7ffe71cd7dd037b76c6ad1fff4d0124f.png

 

und wie du die Netzwerke jetzt aufgesetzt hast ...

  • Thanks 1
Link to comment
49 minutes ago, alturismo said:

dann bin ich raus, hatte es hier nur zum Spaß schnell getestet und hier geht es so ... du wirst es herausfinden ;)

 

vielleicht noch ein Hinweis, viele Apps (unter anderem Filerun) speichern die Datei neu beim Schließen, sprich, ich hoffe du hattest filerun aus während der Änderung ...

 

gleich doch einfach mal ab was in der config steht und aus deinem docker tab wie mariadb zu erreichen wäre ...

 

image.thumb.png.7ffe71cd7dd037b76c6ad1fff4d0124f.png

 

und wie du die Netzwerke jetzt aufgesetzt hast ...

 

Ja, Container runtergefahren, editiert, gestartet. Auch die Ausgabe abgeglichen. Passt alles. In der GUI gleich der Config. Ob ich den mysql oder mariadb container nehme sollte gleich sein oder?! Für mich ergibt das auch keinen Sinn, dass ich ind er GUI etwas eintrage, aber in der Config nicht gesetzt wird. Keine Ahnung was ich falsch mache. Ich finde es noch :D

 

Link to comment
On 3/9/2023 at 10:23 AM, alturismo said:

im unraid Terminal (/mnt/user/appdata/filerun < anpassen zu deinem Pfad) mit nano ... (oder wie auch immer du das editieren möchtest)

 

Nur als Info. Wenn man das File Manager Plugin installiert, kann man das direkt über die Unraid GUI öffnen und bearbeiten.

 

On 3/9/2023 at 10:50 AM, sanobi said:

Vielen lieben dank. Aber bringt leider auch nichts.

Kannst du vielleicht mal posten was du eingetragen hast? alturismo hat in seinem Beispiel "mariadb" bei Server eingetragen. Das funktioniert aber nicht in jedem Docker Netzwerk. Es kann also sein, dass du da eine IP eintragen musst.

 

 

Link to comment
2 hours ago, mgutt said:

Nur als Info. Wenn man das File Manager Plugin installiert, kann man das direkt über die Unraid GUI öffnen und bearbeiten.

 

Danke, hab es über Nano, bzw. auch MC editiert. Aber ich hab auch File Manager :)

 

2 hours ago, mgutt said:

Kannst du vielleicht mal posten was du eingetragen hast? alturismo hat in seinem Beispiel "mariadb" bei Server eingetragen. Das funktioniert aber nicht in jedem Docker Netzwerk. Es kann also sein, dass du da eine IP eintragen musst.

 

autoconfig.JPG.a8a65a26446faeafb2401afdf0eb9527.JPG

hab nur mal die Zugangsdaten entfernt :)

 

Mysql:
1403954334_dockermysql.thumb.JPG.dfb19141dc6c68c583f32afe302fd1e8.JPG

 

Filerun:

1395832224_filerundocker.thumb.JPG.f366f273899044ad92f77df544de4068.JPG

Edited by sanobi
Link to comment
6 hours ago, sanobi said:

hab nur mal die Zugangsdaten entfernt :)

 

 

4 hours ago, mgutt said:

Der Syntax stimmt doch im Leben nicht. Port hinter Server und dann noch Mal in der separaten Zeile?!

 

und der port 33060 stimmt sicher auch nicht, ist sicher ein "Überbleibsel" des bridge modes ... im br0 mode listened mysql auf 3306, außer du hättest das explizit in der mysql app (nicht das port mapping am docker) geändert ...

 

bitte nochmal einlesen was das heißt wenn die docker im br0 mode laufen, dann ist das mapping obsolet ...

 

ich nutze alles im br0 mode, Beispiel wie das aussieht hast du ja oben von mir, wie @mgutt andeutete, ersetze einfach <mariadb> mit <192........>

Link to comment
9 hours ago, mgutt said:

Der Syntax stimmt doch im Leben nicht. Port hinter Server und dann noch Mal in der separaten Zeile?!

 

Aber hier in dem Container hab ich ja nie etwas geändert, außer die Anpassung der falschen IP´s.

 

4 hours ago, alturismo said:

 

 

und der port 33060 stimmt sicher auch nicht, ist sicher ein "Überbleibsel" des bridge modes ... im br0 mode listened mysql auf 3306, außer du hättest das explizit in der mysql app (nicht das port mapping am docker) geändert ...

 

Hab ich, dort hatte ich die 33060 hinterlegt.

 

585463938_mysqlport.thumb.JPG.9f60fbe03164032c96dc692fd787038e.JPG

 

Auch mit dem eingetragen Wert, bleibt es dabei das er die 33060 und die 3306 hinterlegt. Deswegen dachte ich ja, das Problem liegt bei der Datenbank. Nicht bei Filerun.

Tut mir auch echt leid, dass ich euch hier so amateurhafte Dingen behellige. Aber ich würde es gern verstehen.

Edited by sanobi
Link to comment
40 minutes ago, sanobi said:

Hab ich, dort hatte ich die 33060 hinterlegt.

 

lies bitte nochmal was ich geschrieben habe ... dieses "mapping" ist bei br0 obsolet, damit änderst du keinen listening port in mysql, sondern machst ein mapping wenn ein container in einer "normalen" bridge läuft, sowie der docker in der custom:br0 läuft greift kein mapping mehr ...

 

stell dir das mapping einfach vor wie eine Router Weiterleitung, von Port x zu Port y ... bei br0 gibt es jetzt keinen Router mehr dazwischen da der Docker nativ seine eigene Ip hat und auf allen Ports offen ist (lokal), wie wenn früher ein PC dann direkt am Modem hing (DMZ wenn dir das etwas sagt)

 

in Summe wirst du einfach einen Konfigurationsfehler jetzt haben da der Unterschied bridge <> custom:br0 noch nicht verstanden ist, daher, lies dich ein, dann sollte es klar sein und korrigiere einfach die Einträge analog zu meinem Beispiel oben und ersetze mariadb mit deiner ip, der ganze Rest ...

 

übrigens, wenn du Konfigurationen editierst ... aufpassen, deine config ist evtl. auch "im Eimer" ;) vorher evtl. in Windows damit gespielt ? ;)

image.png.47c427b219758ad401914aaba2c393c7.png

 

Beispiel was man in Notepad++ einstellt wenn man mit Linux Dateien arbeitet ...

image.png.26bead16b1fcd9de181400ee17bde7b2.png

 

und das wird dann oft zum Problem ... siehe die ^M aus deiner Datei ;)

image.png.a6beaa1f7fd7ab6baf1bd41daa052432.png

 

daher auch Eingangs ... nano ... damit ppassiert dass nicht ;)

Link to comment
2 hours ago, alturismo said:

lies bitte nochmal was ich geschrieben habe ... dieses "mapping" ist bei br0 obsolet, damit änderst du keinen listening port in mysql, sondern machst ein mapping wenn ein container in einer "normalen" bridge läuft, sowie der docker in der custom:br0 läuft greift kein mapping mehr ...

 

Das hab ich schon verstanden, aber ich kann den Container nicht starten, wenn ich nix hinterlege. Und ob ich den ursprüngliche Port 33060 oder den 3306 hinterlege ändert nichts. Es bleibt auf beiden Ports gebunden. Ich bekomm das nicht weg. Es sind dann immer die 3306 und 33060. Im SQL Container hab ich keine Config gefunden wo ich schauen kann. Da geht es ja nur über die GUI.

 

2 hours ago, alturismo said:

übrigens, wenn du Konfigurationen editierst ... aufpassen, deine config ist evtl. auch "im Eimer" ;) vorher evtl. in Windows damit gespielt ? ;)

 

Das weiß ich. Ich hab in den 2 Jahren seit dem ich Unraid nutze noch nie eine Datei in Windows editiert. Ich nutze die Konsole und dann MC oder Nano. In dem Fall hier habe ich die autoconfig.php nur mit Nano bearbeitet. Den Snip hatte ich für euch aus MC geschossen. Die Formatierung wird nur in MC so angezeigt. Nicht in Nano.

 

Ich glaub ich setze einfach einmal die beiden Container neu auf. Ich meine alles was ich gemacht habe ist bei dem Container MySql die Netzwerkschnittstelle (Bridge zu br0) und IP zu ändern. Das das nicht zu ändern geht ist nicht nachvollziehbar. Wird sicher irgendwie an mir liegen, aber verstehen kann ich es nicht. Das nervt mich.

Edited by sanobi
Link to comment
9 hours ago, sanobi said:

Im SQL Container hab ich keine Config gefunden wo ich schauen kann

Noch mal. Der Container interessiert sich nicht dafür auf welcher IP oder welchem Port er läuft. 

 

9 hours ago, sanobi said:

Da geht es ja nur über die GUI

Seit wann hat ein Datenbankcontainer eine GUI?!

 

9 hours ago, sanobi said:

Das das nicht zu ändern geht ist nicht nachvollziehbar.

Du sollst nichts am Datenbankcontainer ändern, sondern an deiner config. Das hier macht einfach gar keinen Sinn:

Screenshot_20230311_221806.png.6205797c36c235a7999d563e842cb02e.png

 

Wie kommst du darauf, dass man da den Port hinschreibt?! Der Container versucht die Datenbank dann unter der Adresse zu erreichen:

192.168.1.61;port33060:33060

 

Das kann ja logischerweise nicht gehen.

 

Und wenn du wissen willst welcher Port nun offen ist:

 

nc -zvw3 192.168.1.61 33060

 

oder

 

nc -zvw3 192.168.1.61 3306

 

oder so:

 

telnet 192.168.1.61 3306

 

 

Link to comment
1 hour ago, mgutt said:

Seit wann hat ein Datenbankcontainer eine GUI?!

 

Ich meinte die über Unraid.

 

1 hour ago, mgutt said:

Wie kommst du darauf, dass man da den Port hinschreibt?! Der Container versucht die Datenbank dann unter der Adresse zu erreichen:

192.168.1.61;port33060:33060

 

Das kann ja logischerweise nicht gehen.

 

Das stand doch schon in der Config, ich hab die Ports nicht 2x reingeschrieben :(

 

1 hour ago, mgutt said:

Und wenn du wissen willst welcher Port nun offen ist:

 

nc -zvw3 192.168.1.61 33060

 

oder

 

nc -zvw3 192.168.1.61 3306

 

oder so:

 

telnet 192.168.1.61 3306

 

Es geht nur Telnet und es gibt zu keinem der beiden Ports eine Verbindung.

 

Ändere ich die Config so:

 

1829458847_ConfigFR.JPG.493c16f05e77cdfb25e32287b0a3e0e4.JPG

 

kommt "Database error: SQLSTATE[HY000] [1044] Access denied for user 'portadomo'@'%' to database 'portalibertatem'" das Passwort ist aber 100% richtig, so wie auch der Benutzername.

 

nehme ich die 33060 bleibt der Fehler wie am Anfang.

Edited by sanobi
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.