miércoles, 14 de enero de 2015

Conectar a MySQL de forma remota

En la mayoría de los casos podemos acceder a MySQL a través de la consola o por medio de phpMyAdmin, pero sabemos que algunas funciones están limitadas por este medio, para ello necesitamos acceder a MySQL de forma remota.

Primero tendremos que comprobar que nuestro firewall (cortafuegos) del servidor no este impidiendo la comunicación con el puerto 3306 (normalmente el puerto de MySQL) en caso de ser así tendremos que desactivarlo o en su caso configurarlo adecuadamente para que permita el acceso al puerto.

Bueno una vez dicho esto describiremos los pasos para configurar el MySQL para acceder de forma remota.

1. Primero probaremos el puerto 3306 (normalmente el puerto de MySQL) a través de nuestro cliente:

telnet miip_o_eldominio.xxx.xxx 3306
conectandose a miip_o_eldominio.xxx.xxx...
No se pudo abrir la conexión al host, en puerto 3306: Error en la conexión

Como vemos en el ejemplo no tenemos acceso al puerto, aunque este desactivado el firewall o configurado adecuadamente, si no se permiten conexiones remotas en el MySQL no se podrá acceder.

2. Revisamos nuestro archivo my.cnf, que generalmente se encuentra en /etc/mysql/my.cnf

$ sudo nano /etc/mysql/my.cnf

Verificamos las variables bind-address y skip-networking. Si se encuentra skip-networking y no está comentada, la comentamos para que no tenga efecto y se permitan conexiones externas.

# comentamos esta linea
# skip-networking

Si encontramos bind-address = 127.0.0.1 o bind-address = localhost también hay que editarlo y cambiar el valor por el de la ip externa desde la que se quiera conectar (sólo se permite una), o por 0.0.0.0 para que cualquier dirección se conecte, en este ultimo caso habrá después que filtrarlas por otros medios (firewall o seguridad a nivel de control de acceso).

bind-address=0.0.0.0

3. Guardamos nuestro archivo y reiniciamos el MySQL.

Para Ubuntu, Debian
$ sudo service mysql restart

Para CentOS, Fedora
$ sudo service mysqld restart

4. Realizamos nuestra prueba de Telnet y nos tiene que permitir el acceso al puerto

telnet miip_o_dominio.xxx.xxx 3306
Conectando miip_o_dominio.xxx.xxx
5.5.9.riocp$%=+_:t0mysql_native_password

5. Una vez hecho esto realizamos una prueba de conexión para conectarnos de forma remota a nuestro servidor MySQL (puede realizarse con algún programa cliente), si aun así no es posible conectarse necesita verificar que el usuario ha sido creado correctamente.

Para ello verificamos en la base de datos mysql la tabla users, en el campo host el valor deberá sera la ip desde la cual deseamos conectarnos o en su defecto el % para que permita conectarse desde cualquier ip. Esto lo podemos realizar con la consola del MySQL.

mysql>GRANT ALL PRIVILEGES ON mibase.* to usuario@'%' IDENTIFIED BY 'elpassword';

Para ver mas sobre como crear usuarios checa el siguiente post:
http://mgermano.blogspot.mx/2014/04/crear-y-borrar-usuarios-de-mysql-por.html

viernes, 9 de enero de 2015

Actualizar PHP 5.1 a PHP 5.4 en CentOS 5.9

En este artículo, veremos como actualizar de PHP 5.1 o 5.2 a PHP 5.4, así mismo actualizaremos el MySQL a la versión 5.5.

1. Primero tenemos que instalar los repositorios epel y remi, con la siguiente instrucción:

$ wget http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
$ sudo rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

2. Después tenemos que habilitar el repositorio remi en el siguiente archivo:

$ sudo nano /etc/yum.repos.d/remi.repo

dentro de este archivo tenemos que habilitar en la sección [remi] el repositorio.

enabled = 1

3. Ahora tenemos que actualizar el php

$ sudo yum install php

4. Después de esto tenemos que reiniciar nuestros servicios de Apache y MySQL

$ sudo service httpd restart
$ sudo service mysqld restart

5. En caso de que no tengamos configurado para que nuestros servicios arranquen de inicio, tendremos que habilitarlo, probamos reiniciando nuestro servidor:

# chkconfig --levels 235 httpd on
# chkconfig --levels 235 mysqld on

Por ultimo probamos en nuestro navegador que este actualizada nuestra versión.

Entradas Populares