miércoles, 11 de diciembre de 2013

Administración de MySQL


Hoy hablaremos acerca de las actividades mas comunes que se realizan al administrar un servidor MySQL. Para tener una idea  mas clara sobre que hacen los comandos se recomienda leer mi articulo sobre manejo de bases de datos MySQL (en construcción).

Lo primero que debemos saber es como acceder a Mysql, esto lo podemos hacer de la siguiente manera:
$ mysql -h nombre_host_o_ip -P numero_de_puerto -u nombre_de_usuario -p
Donde: -h permite especificar a que host o dirección IP conectarse (por defecto localhost), -P el numero de puerto en el que escucha MySQL (por defecto 3306), -u significa usuario (root por defecto).

Nota: si queremos conectarnos con la cuenta root a localhost en el puerto 3306 solo basta con colocar
$ mysql -p

Crear usuarios

Existen tres métodos para crear los usuarios en MySQL, uno es mediante el comando CREATE, otro es modificando manualmente la tabla user de la base de datos mysql y el último es mediante el comando GRANT.

El primer método es el recomendado por los desarrolladores de MySQL porque es menos propenso a errores humanos (depediendo del humano ;)).

La sintaxis para crear usuarios es la siguiente:
mysql> CREATE USER 'nombre_usuario'@'nombre_host_o_ip'\ 
       IDENTIFIED BY mi_password';
Con el comando anterior se creó un usuario llamado nombre_usuario el cual accede al servidor MySQL que se encuentra en nombre_host_o_ip y posee el password mi_password. Por ejemplo, para crear el usuario aang, que accede a localhost y posee el password appa se usa el siguiente comando:

mysql> CREATE USER 'aang'@'localhost' IDENTIFIED BY 'appa';
Para crear un usuario mediante el segundo método se debe hacer lo siguiente:
mysql> INSERT INTO mysql.user VALUES ('nombre_host_o_ip',\
      'nombre_usuario', PASSWORD('mi_password'), 'Y', 'Y', 'Y', 'Y',\
      'Y','Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',\
      'Y', 'Y','Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '',\
      '', 0, 0, 0, 0);
Así que si creamos el usuario aang, que accede a localhost con el password appa usaremos lo siguiente:
mysql> INSERT INTO mysql.user VALUES ('localhost', 'aang',\
       PASSWORD('appa'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',\
       'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y',\
       'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0);
Con GRANT lograremos lo mismo si hacemos lo siguiente:

GRANT ALL ON nombre_base_de_datos.* TO 'nombre_usuario'@'nombre_host_o_IP'\
      IDENTIFIED BY 'mi_password';

Eliminar usuarios

Tenemos dos métodos para borrar usuarios: DROP USER y DELETE FROM mysql.user.
Método 1:
mysql> DROP USER 'aang'@'localhost';
Método 2:
mysql> DELETE FROM mysql.user WHERE User='aang';

Bienvenidos a mi blog

Bienvenidos a este mi primer blog !!!

La razón de esta pagina es convertirla en un repositorio de algunas de las cosas que he aprendido en mi trabajo como administrador de red y jugando con los distintos gadgets que han caído en mis manos.

Esto no es mas que un sitio que me servirá para recordar mis experiencias y posiblemente a ustedes para resolver ciertos problemas y refrescar algunos conceptos.

Esperando que sea de provecho la información contenida en este sitio se despide:

Gabriel José Rojas Díaz.

EOF