MySQL unter OpenSuse - mit Workbench auf Datenbank zugreifen nicht möglich
Hi NG,
beim Versuch mit MySQL-Workbench auf einen MySQL (Mariadb) Server zuzugreifen erhielt ich folgende Fehlermeldung:
your connection attempt failed for user 'root' from your computer host to server at 'IP-Adresse'
can't connect to mysql Server on 'IP-Adresse'
Der MySQL-Server läuft auf Opensuse 12.3 unter einer virtuellen Maschine mit VirtualBox. Die Netzwerkschnittstelle ist auf Netzwerkbrüche eingestellt. In die My.cnf habe ich den Eintrag 'bind-address = Server IP' eingetragen. Vom Client (Win 8.1 Pro) kann ich den Server anpingen.
Wo ist mein Problem?
Gruß
Andy
beim Versuch mit MySQL-Workbench auf einen MySQL (Mariadb) Server zuzugreifen erhielt ich folgende Fehlermeldung:
your connection attempt failed for user 'root' from your computer host to server at 'IP-Adresse'
can't connect to mysql Server on 'IP-Adresse'
Der MySQL-Server läuft auf Opensuse 12.3 unter einer virtuellen Maschine mit VirtualBox. Die Netzwerkschnittstelle ist auf Netzwerkbrüche eingestellt. In die My.cnf habe ich den Eintrag 'bind-address = Server IP' eingetragen. Vom Client (Win 8.1 Pro) kann ich den Server anpingen.
Wo ist mein Problem?
Gruß
Andy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 224861
Url: https://administrator.de/forum/mysql-unter-opensuse-mit-workbench-auf-datenbank-zugreifen-nicht-moeglich-224861.html
Ausgedruckt am: 09.04.2025 um 07:04 Uhr
11 Kommentare
Neuester Kommentar
Hi,
Deine Problem kann an vielen Orten liegen. Hier mal ein paar Anregungen:
mfg
Cthluhu
Deine Problem kann an vielen Orten liegen. Hier mal ein paar Anregungen:
- Schau mal mit auf dem sql-host ob tatsächlich für mariaDB ein Port offen ist.
netstat -tulpen
- Firewalls?
- Dein Problem könnten auch bei den Zugriffsrechten liegen. IMHO darf root nicht per default von überall auf die Datenbanken zugreifen, sondern muss für jeden Host extra freigeschaltet werden.
mfg
Cthluhu
Zitat von @AndyAh:
ich kann auf der lokalen Maschine nicht einmal mit
mysqladmin -u root -p password "WUNSCHPASSWORT"
einen User anlegen.
Damit legt man auch keinen user an. Jetzt mal ein bisschen debuggen: Für mal folgende Befehle am Server als root aus:ich kann auf der lokalen Maschine nicht einmal mit
mysqladmin -u root -p password "WUNSCHPASSWORT"
einen User anlegen.
netstat -tulpen
mysql -N -B -e "show databases;"
ps aux | grep mysql
cat /var/log/mysql/mysqld.log
mfg
Cthluhu
Hi,
Ok auf dem ersten Blick sieht das gut aus. Jetzt können wir uns mal die Berechtigungen anschauen:
Quelle: http://serverfault.com/questions/8860/how-can-i-export-the-privileges-f ...
Dabei sollte eine Zeile auftauchen ala
GRANT ALL PRIVILEGES ON *.* 'user'@'host' IDENTIFIED BY PASSWORD '*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
wobei 'user' der Benutzername ist mit dem sich Mysql Workbench verbindet, und 'host' dein Windows Client mit dem du dich verbinden willst.
mfg
Cthluhu
Ok auf dem ersten Blick sieht das gut aus. Jetzt können wir uns mal die Berechtigungen anschauen:
mysql -B -N $@ -e "SELECT DISTINCT CONCAT('SHOW GRANTS FOR \'', user, '\'@\'', host, '\';') AS query FROM mysql.user" | \
mysql $@ | sed 's/\(GRANT .*\)/\1;/;s/^\(Grants for .*\)/## \1 ##/;/##/{x;p;x;}'
Dabei sollte eine Zeile auftauchen ala
GRANT ALL PRIVILEGES ON *.* 'user'@'host' IDENTIFIED BY PASSWORD '*XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
wobei 'user' der Benutzername ist mit dem sich Mysql Workbench verbindet, und 'host' dein Windows Client mit dem du dich verbinden willst.
mfg
Cthluhu
Zitat von @AndyAh:
über die Loopback-Adresse funktioniert eine Connection, mit der ich aber nichts anfangen kann.Mit der eigentlichen Server-IP
nicht.
Ok, das sagt uns, dass der Server grundsätzlich nix hat, aber dir die Rechte fehlen um vom Client aus zuzugreifen. Grundsätzlich werden (wie obige Ausgabe schon zeigt) die Rechte immer für User@Host vergeben. D.h. root von localhost kann andere Berechtigungen/Passwort haben als root vom client.über die Loopback-Adresse funktioniert eine Connection, mit der ich aber nichts anfangen kann.Mit der eigentlichen Server-IP
nicht.
D.h. du musst jetzt nur einen benutzer@client anlegen und dem die passenden Rechte geben. Anleitung gibts dafür viele im Netz. Z.B. hier: http://dev.mysql.com/doc/refman/5.1/de/adding-users.html
mfg
Cthluhu
