Ich habe gerade einen neuen Ubuntu-Server mit MySQL (Percona 5.5) installiert, der jedoch keine Verbindungen von Remote-Hosts akzeptiert
Folgendes passiert, wenn ich versuche, eine Remoteverbindung zu diesem Server herzustellen:
mysql -h10.0.0.2 -uroot -pmypassowrd
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.0.2' (111)
telnet 10.0.0.2 3306
Trying 10.0.0.2...
telnet: Unable to connect to remote host: Connection refused
Als ich überprüfte, ob MySQL Remoteverbindungen abhört, sah ich Folgendes:
sudo netstat -ntlup | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 127018/mysqld
Wie Sie sehen können, 127.0.0.1:3306heißt es "Ich akzeptiere nur lokale Verbindungen".
Ich habe meine skip_networkingund bind-addressVariablen überprüft - alles ist ausgeschaltet:
mysql> show variables like '%skip_networking%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| skip_networking | OFF |
+-----------------+-------+
1 row in set (0.00 sec)
mysql> show variables like '%bind%';
Empty set (0.00 sec)
Ich habe einen anderen Server mit absolut der gleichen Konfiguration und es funktioniert großartig:
sudo netstat -ntlup | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2431/mysqld
Was kann der Grund dafür sein? Wie kann ich MySQL auf Remoteverbindungen reagieren lassen?
bind_addresserst seit Version 5.6 verfügbar ist ( bugs.mysql.com/bug.php?id=44355 ), sodass in Version 5.5 ein leerer Satz zurückgegeben wird, auch wenn dieser festgelegt ist.