Zdalne połączenie MySQL [nie tak jak zwykle]

Nie dostaję dostępu do mysql na zewnątrz. Myślę, że to mysql lub firewall lub jakieś przywileje w mysql.

Próbowałem już wykonywać kroki w Internecie. Przedstawię proces krok po kroku, aby zilustrować to, co robię i służyć jako samouczek dla innych osób, które mają ten sam problem:

Używam:

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

1- Najpierw zainstalowałem mysql z:

sudo apt-get install mysql-server

2- Zmieniłem hasło roota przez:

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- Daję WSZYSTKIE PRZYWILEJE do rootowania do dowolnego IP:

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

4- Po tym, jak edytowałem my.cnf

sudo nano /etc/mysql/my.cnf

Skomentowałem linie, jak poniżej:

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

5- Zmontowałem iptables, aby umożliwić MySql 3306:

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

teraz wpisuję 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

Zobacz, że port 3306 jest otwarty! Czy mam rację?

6- Ponownie uruchomiłem mysql:

sudo service mysql start

Wpisałem:

service mysql status

wynik:

mysql start/running, process 20757

7- Próbowałem połączyć się z serwerem:

mysql -h 66.123.173.170 -u root -p

Dostałem ten błąd:

BŁĄD 2003 (HY000): Nie można połączyć się z serwerem MySQL w dniu '66 .123.173.170 '(111)

Kiedy robię:

mysql -h 127.0.0.1 -u root -p

Działa otwarty terminal MySQL>

8- WĄTPLIWOŚĆ: Czy widzisz coś złego w tym procesie?

OBS: w kroku 4 próbowałem również umieścić adres powiązania na adres-bid = 0.0.0.0, ale to nie rozwiązało problemu.

9- WĄTPLIWOŚĆ: Jeśli wyłączę MySQL za pomocą:service mysql stop czy mogę uzyskać dostęp do zapory lokalnie za pomocą mysql -h 127.0.0.1 -u root -p?

Zrobiłem to i mogłem połączyć się nawet z mysql stop / waiting (był to status podany po zatrzymaniu i odzyskaniu statusu MySQL).

questionAnswers(3)

yourAnswerToTheQuestion