ich verstehe die Welt nicht. Vielleicht koennt ihr ein bisschen Licht in die Sache bringen.
Ich habe den Port von meinem Mysqld von 3306 testweise auf 3304 umgelegt:
Code: Alles auswählen
# netstat -plant | grep mysql
tcp 0 0 0.0.0.0:3304 0.0.0.0:* LISTEN 53609/mysqld
Code: Alles auswählen
:-L telnet localhost 3306
Trying ::1...
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
Code: Alles auswählen
:-L mysql -P 3306
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 88
Server version: 5.5.60-0+deb7u1 (Debian)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> Bye
Der Hintergrund des Problems ist, dass ich aus einem PHP-Script mit mysqli das Verbinden auf andere Ports testen wollte. Es ist egal, welchen Port ich angebe oder wo der Mysqld lauscht, ich kann die Verbindung immer aufbauen.
Das riecht eigentlich stark nach dem Fall, dass man einen anderen Code anschaut als den den man ausfuehrt, -- ich glaube zwar nicht, aber wer weiss. Darum bin ich auf die Shell zurueckgegangen und habe dort mit telnet(1) vs. mysql(1) das Problem runtergebrochen.
Was ich mir noch erklaeren koennte, waere, dass mysql(1) irgendeine Magie im Hintergrund hat, die den Port des [mysqld]-Abschnitts in der /etc/mysql/my.cnf zusaetzlich ausprobiert. Aber dass das PHP-Modul mysqli das auch macht ...?
Jetzt hoffe ich auf eure Erfahrungen und euer Knowhow: Hattet ihr das Problem auch schon? Weiss jemand mehr darueber? Wo soll ich weiter ansetzen mit dem Debuggen?