Je viens d'installer un nouveau serveur Ubuntu avec mysql (percona 5.5), mais il refuse d'accepter les connexions des hôtes distants
Voici ce qui se passe si j'essaie de me connecter à distance à ce serveur:
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
Lorsque j'ai vérifié si mysql écoute les connexions à distance, j'ai vu ceci:
sudo netstat -ntlup | grep mysql
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 127018/mysqld
Comme vous pouvez le voir, cela 127.0.0.1:3306
signifie "J'accepte uniquement les connexions locales".
J'ai vérifié mes variables skip_networking
et bind-address
- tout est désactivé:
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)
J'ai un autre serveur avec absolument la même configuration et cela fonctionne très bien:
sudo netstat -ntlup | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2431/mysqld
Quelle peut en être la raison? Comment faire en sorte que mysql réponde aux connexions à distance?
bind_address
n'est disponible que depuis la version 5.6 ( bugs.mysql.com/bug.php?id=44355 ), elle renverra donc un ensemble vide dans la v5.5 même s'il l'est.