El SysAdmin del 3er Mundo

todo lo que expliqué mientras nadie prestaba atención

phpmyadmin múltiples servidores

| Comments

Cuando tienes que manejar múltiples servidores SQL, no da la talla tener un phpmyadmin por cada servidor. Opté por tener un phpmyadmin instalado en mi laptop.

Una manera muy sencilla de hacer la pincha, es mapear con SSH el puerto de mysql y conectar a todo el mundo como si fuera localhost.

“ssh y mysql”
1
ssh root@192.168.0.9 -L 3306:127.0.0.1:3306 -N

Pero en algunos casos, no hay SSH, el servidor no escucha por TCP, etc… En tal caso, podrías permitir que el root se administre remotamente.

Para lograrlo hay que decirle a mysql que escuche por la dirección ip además de por el socket local. En infraestructuras grandes, por lo general, ya está hecho. Localiza en /etc/mysql/my.cnf el parámetro llamado bind-address

“/etc/mysql/my.cnf”
1
2
3
4
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address      = 0.0.0.0

y reinicia el mysql, claro está…

Ahora hacemos una consulta SQL, en la cual le daremos al usuario root, el permiso para conectarse de una ip dada. Por ejemplo, la computadora del sysadmin está en 192.168.0.222

“grant root”
1
GRANT ALL ON *.* to root@'192.168.0.222' IDENTIFIED BY 'tupassword';

Ahora viene el truco mágico en la configuración de phpmyadmin. El fichero de configuración de phpmyadmin, en el caso de arch, está en /etc/webapps/phpmyadmin/config.inc.php en otras distros, no sé, pero siempre se llama config.inc.php

En ese fichero, localiza la cadena de texto “First Server”, debes ver algo como esto pero con muchos comentarios:

“config.inc.php”
1
2
3
4
5
6
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Solo tienes que añadirle otra $i++; y poner los parámetros en el array $cfg

“ejemplo de múltiples servidores”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

$i++; // otro servidor
$cfg['Servers'][$i]['verbose'] = 'otro servidor';
$cfg['Servers'][$i]['host'] = '192.168.1.9';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

$i++; // el leviatand de los mares
$cfg['Servers'][$i]['verbose'] = 'otro servidor mas';
$cfg['Servers'][$i]['host'] = '192.168.2.9';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Cuantos servidores quieras añadirle… Cuando vallas a loguearte en el phpmyadmin verás debajo de la caja de login, un select, con el servidor que quieres acceder.

Si este artículo te resultó interesante, considere donar 0.05 BTC: 1Kg4gu3e7u8HUw8bj5NbBciRg6Y56kuFCU

Comments