Forum: PC Hard- und Software mysql/MariaDB zu anderem Port verbinden mit Docker


von homi (Gast)


Lesenswert?

Hi Leute, ich hab da mal eine Frage zu mysql:

Also ich habe einen kleinen headless Debian Server, wo eine (ehem. 
mysql) MariaDB läuft. wenn ich den Client mit "mysql" aufrufe, kann ich 
mir mit "show databases;" die Datenbanken darauf anzeigen lassen - alles 
ok.

Jetzt habe ich da zusätzlich Docker installiert und ein MariaDB-Docker 
Image so gestartet:
1
docker run -d \
2
  --publish 6603:3306 \
3
  --name c_mariadb \
4
  -e MARIADB_ROOT_PASSWORD=123456 \
5
  -v mysql-storage:/var/lib/mysql \
6
  --restart always \
7
  mariadb

Nun dachte ich, ich kann auf diese zusätzliche DB-Instanz im 
Docker-Container so zugreifen:

mysql -uroot -p123456 -P6603

geht aber nicht - mysql startet zwar und verbindet sich, ABER zu der 
Instanz, die direkt auf dem Host läuft, und nicht zu der im Container - 
warum? Ich habe doch den abweichenden Port angegeben?

Wenn ich das -- publish weglasse, und mich zu der [IP vom 
Container]:3306 verbinde, dann geht es..

von Εrnst B. (ernst)


Lesenswert?

homi schrieb:
> Ich habe doch den abweichenden Port angegeben?

der reicht nicht, per Default (für localhost) versucht der Mysql-Client 
eine verbindung über "/run/mysqld/mysqld.sock" statt über TCP.

Versuch:
mysql --host 127.0.0.1 --port 6603 -uroot -p123456

von homi (Gast)


Lesenswert?

Εrnst B. schrieb:
> der reicht nicht, per Default (für localhost) versucht der Mysql-Client
> eine verbindung über "/run/mysqld/mysqld.sock" statt über TCP.

Ah - das erklärt auch, warum er für die lokale DB gar kein Passwort 
haben wollte..

Versuch hat funktioniert, danke sehr!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.