MySQL connexion à distance [pas comme d'habitude]

Je ne suis pas arriver à obtenir l'accès à mysql externe.
Je pense que c'est mysql ou pare-feu des trucs ou des privilèges au sein de la base de données mysql.

J'ai déjà essayé de faire des étapes qui sont sur internet. Je vais mettre le processus étape-par-étape pour donner un exemple de ce que je suis en train de faire et de servir comme un tutoriel pour un autre peuple qui a ce même problème:

Je suis en utilisant:

-ubuntu server 12.04 
-mysql-server5.5
-there is NO hardware firewall just software one

1 - tout d'Abord j'ai installé mysql avec:

sudo apt-get install mysql-server

2 - j'ai changé le mot de passe root par:

sudo /etc/init.d/mysql stop
sudo mysqld --skip-grant-tables &
mysql -u root mysql
UPDATE user SET Password=PASSWORD('MYPASSWORD') WHERE User='root'; FLUSH PRIVILEGES; exit;

3 - je donne TOUS les PRIVILÈGES à la racine de tout ip:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

4 - Après j'ai édité mon.cnf

sudo nano /etc/mysql/my.cnf

J'ai commenté les lignes, comme indiqué ci-dessous:

#skip-external-locking 
#bind-address           = 127.0.0.1

5 - j'ai édité le iptables pour autoriser MySql 3306:

iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

maintenant taper netstat -ant:

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:10000           0.0.0.0:*               LISTEN
tcp        0      0 66.123.173.170:53       0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:995             0.0.0.0:*               LISTEN
tcp        0      0 66.123.173.170:22       189.32.2.232:49167      ESTABLISHED
tcp        0    336 66.123.173.170:22       189.32.2.232:49654      ESTABLISHED
tcp6       0      0 :::110                  :::*                    LISTEN
tcp6       0      0 :::143                  :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN
tcp6       0      0 :::21                   :::*                    LISTEN
tcp6       0      0 :::53                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:953                 :::*                    LISTEN
tcp6       0      0 :::25                   :::*                    LISTEN
tcp6       0      0 :::993                  :::*                    LISTEN
tcp6       0      0 :::995                  :::*                    LISTEN
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN

Voir que le port 3306 est ouvert! Suis-je le droit?

6 - j'ai redémarré le serveur mysql:

sudo service mysql start

J'ai tapé:

service mysql status

résultat:

mysql start/running, process 20757

7 - j'ai essayé de vous connecter au serveur:

mysql -h 66.123.173.170 -u root -p

J'ai eu cette erreur:

ERREUR de 2003 (HY000): can't connect to MySQL server on '66.123.173.170' (111)

Quand je fais:

mysql -h 127.0.0.1 -u root -p

Il fonctionne ouvert MySQL> terminal

8 - DOUTE: voyez-vous quelque chose de mal avec ce processus?

OBS: à l'étape 4, j'ai aussi essayé de mettre le lien de l'adresse de
offre-address = 0.0.0.0
mais elle ne résout pas le problème.

9 - DOUTE: Si je désactive le MySQL avec: service mysql stop alors, puis-je accéder au pare-feu localement avec mysql -h 127.0.0.1 -u root -p ?

Je l'ai fait et j'ai pu me connecter même avec mysql arrêté/en attente (c'est le statut donné après l'arrêt et retrieveing statut de MySQL).

essayez de désactiver le pare-feu pour voir si cela fonctionne si pas, essayez de décommenter #bind-address et de mettre votre ip pour voir si cela fonctionne. De cette façon, vous pouvez cerner le point pourquoi sa ne fonctionne pas.
+1 pour fournir autant d'informations dans votre question. Du bon travail.

OriginalL'auteur felipe | 2012-08-10