it-swarm.com.de

FEHLER 2003 (HY000): Verbindung zum MySQL-Server unter 'Hostname' kann nicht hergestellt werden (111)

Vielen Dank im Voraus für Ihre Hilfe.

Ich habe ein Problem mit dem MySQL-Server, der der Titel dieses Themas ist, indem ich den Befehl verwendet:

mysql -u myuser -pmypass -h `hostname`  db_name

Ich bekomme den Fehler

ERROR 2003 (HY000): Can't connect to MySQL server on 'hostname' (111)

Also habe ich die Datei my.cnf überprüft und habe keine Zeilen mit "bind address" und "skip-networking", obwohl ich versucht habe, sie hinzuzufügen und neu zu starten, was jedoch nichts geändert hat.

Außerdem gibt es keine Fehler in den SQL-Protokollen, und wir können (mit HeidiSQL) eine Remote-Verbindung zum Server herstellen, da wir wissen, dass der Benutzer myuser"@"% ist. Mysql überwacht den Port 3306 und ist dort in Ordnung

Benutzer, die mit @ 'localhost' erstellt wurden, können problemlos mit der Befehlszeile (ohne die Option -h) arbeiten. 

Interessanter ist, dass andere Server, die genau gleich aussehen, mit dem ersten Befehl sowohl lokal als auch remote arbeiten ...

Der Server läuft mit CentOS 6.2

Wenn also jemand eine Idee zu diesem Thema hat, würde ich mich freuen, sie zu hören

P.S: Es ist mein erster Beitrag hier, also wenn es Formatierungsprobleme gibt, bitte verzeihen Sie mir

7
ASettouf

Überprüfen Sie einfach Ihre my.cnf und ändern Sie von

bind-address = 0.0.0.0

zu

bind-address = 127.0.0.1

wenn Sie diesen Parameter nicht haben, fügen Sie ihn einfach hinzu.

Bindung an 0.0.0.0 Wenn Ihr mysql auf jeder konfigurierten IP-Adresse verfügbar ist, können Sie nicht nur zwei oder drei IP-Adressen auf dem Server binden. Die Konfiguration kann Folgendes sein: localhost oder alles.

Dann überprüfen Sie Ihre/etc/hosts -Datei und stellen Sie sicher, dass die Zeile

127.0.0.1 localhost

enthält auch Ihren Server-Hostnamen, als Beispiel: Mein Hostname ist "db01", mein/etc/hosts ist

127.0.0.1 localhost db01

Denken Sie daran, dass nach der Installation über yum (ich weiß nicht, ob CentOS dies automatisch für Sie erledigt, ich weiß nur, dass Gentoo dies nicht tut), dass Sie mysql_install_db ausführen und dann das Passwort für den Root-Benutzer konfigurieren müssen, seien Sie absolut sicher dass Sie ein Passwort eingerichtet haben für:

'root'@'localhost'
'root'@'hostname'
'root'@'127.0.0.1'
'root'@'%'

(Aus Sicherheitsgründen sollten Sie auch den Eintrag mit user = '' aus mysql.user entfernen.)

hoffe das hilft

7
MiPnamic

Verspätete Antwort, aber ich glaube, dass eine Fehlermeldung bedeutet, dass der Server, mit dem Sie sich verbinden möchten, diese Schnittstelle nicht überwacht.

Wenn Sie die Konfiguration ändern in:

bind-address = 127.0.0.1

wie oben vorgeschlagen, konfigurieren Sie den Server so, dass alle Verbindungen mit Ausnahme der Verbindungen von localhost (selbst) abgelehnt werden.

bind-address = 0.0.0.0

in den meisten Fällen ist dies ausreichend, und mysql lässt alle Schnittstellen des Systems abhören, wodurch es über alle Adressen erreichbar ist, unter denen der Host erreichbar ist.

4
nucc1

Aktivieren Sie den Port für die Firewall und versuchen Sie ...

im Terminal führt Befehle als root aus.

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
0
Dinesh-SriLanka