Conexão remota do MySQL [não como de costume]
Eu não estou conseguindo acessar o mysql externamente. Eu acho que é coisa de mysql ou firewall ou algum privilégio dentro do mysql.
Eu já tentei fazer etapas que estão na internet. Vou colocar o processo passo-a-passo para exemplificar o que estou fazendo e servir como um tutorial para outras pessoas que tem esse mesmo problema:
Estou a usar:
-ubuntu server 12.04
-mysql-server5.5
-there is NO hardware firewall just software one
1- Primeiro instalei o mysql com:
sudo apt-get install mysql-server
2- Alterei a senha do root por:
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- Eu dou ALL PRIVILEGES para fazer root em qualquer ip:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
4- Depois que editei o my.cnf
sudo nano /etc/mysql/my.cnf
Comentei as linhas, como abaixo:
#skip-external-locking
#bind-address = 127.0.0.1
5- Eu editei o iptables para permitir o MySql 3306:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
agora digitando 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
Veja que a porta 3306 está aberta! Estou certo?
6- Eu reiniciei o mysql:
sudo service mysql start
Eu digitei:
service mysql status
resultado:
mysql start/running, process 20757
7- Tentei me conectar ao servidor:
mysql -h 66.123.173.170 -u root -p
Eu recebi este erro:
ERRO 2003 (HY000): Não é possível conectar-se ao servidor MySQL em '66 .123.173.170 '(111)
Quando eu faço:
mysql -h 127.0.0.1 -u root -p
Funciona aberto MySQL> terminal
8- DÚVIDA: Você vê algo de errado com este processo?
OBS: na etapa 4, também tentei colocar o endereço de ligação no endereço de lance = 0.0.0.0, mas isso não resolveu o problema.
9- DOUBT: Se eu desligar o MySQL com:service mysql stop
então, eu posso acessar o firewall localmente com o mysql -h 127.0.0.1 -u root -p?
Eu fiz isso e consegui me conectar mesmo com o mysql parado / esperando (esse era o status dado após parar e recuperar o status do MySQL).