MySQL удаленное соединение [не как обычно]
Я не получаю доступ к mysql извне. Я думаю, что это MySQL или брандмауэр или какая-то привилегия в MySQL.
Я уже пытался делать шаги, которые есть в интернете. Я пошагово опишу процесс, чтобы проиллюстрировать, что я делаю, и послужить учебным пособием для других людей, у которых есть такая же проблема:
Я использую:
-ubuntu server 12.04
-mysql-server5.5
-there is NO hardware firewall just software one
1- First I installed mysql with:
sudo apt-get install mysql-server
2- I changed the root password by:
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- I give ALL PRIVILEGES to root to any ip:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
4- After I edited the my.cnf
sudo nano /etc/mysql/my.cnf
Я прокомментировал строки, как показано ниже:
#skip-external-locking
#bind-address = 127.0.0.1
5- I edited the iptables to allow MySql 3306:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
теперь набираем 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
Смотрите, что порт 3306 открыт! Я прав?
6- I restarted the mysql:
sudo service mysql start
Я набрал:
service mysql status
результат:
mysql start/running, process 20757
7- I tried to connect to the server:
mysql -h 66.123.173.170 -u root -p
Я получил эту ошибку:
ERROR 2003 (HY000): Can't connect to MySQL server on '66.123.173.170' (111)
Когда я делаю:
mysql -h 127.0.0.1 -u root -p
Работает открытая MySQL & gt; Терминал
8- DOUBT: Do you see anything wrong with this process?
OBS: на шаге 4 я также попытался указать адрес привязки bid-address = 0.0.0.0 но это не решило проблему.
9- DOUBT: If I turn off the MySQL with: service mysql stop
then, can I access the firewall locally with mysql -h 127.0.0.1 -u root -p ?
Я сделал это, и я мог соединиться даже с остановленным / ожидающим MySQL (это был статус, данный после остановки и получения статуса MySQL).