Administración básica en MariaDB/MySQL

Soy un fanático de la línea de comandos, razón por la cual comparto el 80% del tiempo frente a una pantalla de color negro con texto. Siempre he pensado en que es una herramienta sumamente poderosa y por ello, no escapo a la administración de bases de datos cuando se trata de sitios web.

Las tareas más comunes a realizar cuando uno administra bases de datos en sitios web, van desde crear la misma base de datos, los usuarios, asignar permisos y otras tarea comunes como hacer un respaldo completo de una base de datos o repararlas. La razón de esta entrada es resumir en un solo punto todas estas tareas para tener un lugar anecdótico donde revisar cuando se presente un problema.

Operaciones con bases de datos

Crear una base de datos: La operación más básica y fundamental al gestionar bases de datos con MariaDB:

mysql> CREATE DATABASE basededatos;

Borrar una base de datos: Si queremos borrar una base de datos completa:

mysql> DROP DATABASE basededatos;

Operaciones con usuarios

Crear un usuario local y asignarlo a una base de datos: crear un usuario tiene una tarea adicional que es asignarle una base de datos, de lo contrario no podría realizar operaciones ni con las bases de datos, ni las tablas que estas tengan:

mysql> CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';
mysql> GRANT ALL PRIVILEGES ON basededatos.* TO 'usuario'@'localhost';
mysql> FLUSH PRIVILEGES;

Crear un usuario remoto y asignarlo a una base de datos: cuando hay usuarios remotos, la operación es la misma pero identificando el host:

mysql> CREATE USER 'usuario'@'10.0.0.2' IDENTIFIED BY 'contraseña';
mysql> GRANT ALL PRIVILEGES ON basededatos.* TO 'usuario'@'10.0.0.2';
mysql> FLUSH PRIVILEGES;

Borrar usuario local: si queremos eliminar un usuario local:

mysql> DROP USER 'usuario'@'localhost';

Borrar usuario remoto: si queremos eliminar un usuario remoto:

mysql> DROP USER 'usuario'@'10.0.0.2';

Operaciones de listado

Listar base de datos: esto mostrará todas las bases de datos:

mysql> SHOW DATABASES;

Listar tablas de una base de datos: esto mostrará todas las tablas dentro de una base de datos:

mysql> USE basededatos;
mysql> SHOW TABLES;

Listar usuarios y hosts: esto mostrará todos los usuarios en la base de datos:

mysql> USE mysql;
mysql> SELECT host, user FROM mysql.user;

Importación y exportación de bases de datos

Exportar una base de datos: por seguridad esto debe ser realizado en 3 pasos, primero bloquear las tablas para que no se escriba sobre ellas, volcar el contenido de la misma a un archivo SQL usando mysqldump y luego desbloquear las tablas:

mysql> FLUSH TABLES WITH READ LOCK;
# mysqldump –u usuario -p basededatos > volcado.sql
mysql> UNLOCK TABLES;

Importar una base de datos: la operación contraria no involucra a mysqldump:

# mysql –u usuario -p basededatosdondevolcar < volcado.sql

Hasta aquí dejaré esta entrada, podría incluir más material, pero creo que perdería su propósito como punto de partida o su aspecto básico para administrar bases de datos. Tampoco he incluido por el momento los comandos para manipular datos, ya que he pensado dedicarles una entrada independiente.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.