Conexión remota de MySQL [no como de costumbre]
No estoy obteniendo acceso a mysql externamente. Creo que es algo de mysql o firewall o algún privilegio dentro de mysql.
Ya he intentado hacer pasos que están en internet. Pondré el proceso paso a paso para ejemplificar lo que estoy haciendo y para servir como tutorial para otras personas que tienen el mismo problema:
Estoy usando:
-ubuntu server 12.04
-mysql-server5.5
-there is NO hardware firewall just software one
1- Primero instalé mysql con:
sudo apt-get install mysql-server
2- He cambiado la contraseña de 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- Doy TODOS LOS PRIVILEGIOS a root a cualquier ip:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;
4- Después de editar el my.cnf
sudo nano /etc/mysql/my.cnf
Comenté las líneas, como a continuación:
#skip-external-locking
#bind-address = 127.0.0.1
5- Edité las iptables para permitir MySQL 3306:
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
ahora escribiendo 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
¡Vea que el puerto 3306 está abierto! Estoy en lo cierto?
6- Reinicié el mysql:
sudo service mysql start
Escribí:
service mysql status
resultado:
mysql start/running, process 20757
7- Intenté conectarme al servidor:
mysql -h 66.123.173.170 -u root -p
Tengo este error
ERROR 2003 (HY000): No se puede conectar al servidor MySQL en '66 .123.173.170 '(111)
Cuando lo hago:
mysql -h 127.0.0.1 -u root -p
Funciona abierto MySQL> terminal
8- DUDA: ¿Ves algo mal con este proceso?
OBS: en el paso 4, también intenté poner la dirección de enlace en bid-address = 0.0.0.0 pero no resolvió el problema.
9- DUDA: Si apago el MySQL con:service mysql stop
entonces, ¿puedo acceder al firewall localmente con mysql -h 127.0.0.1 -u root -p?
Lo hice y pude conectarme incluso con mysql detenido / en espera (este fue el estado dado después de la detención y el estado de recuperación de MySQL).