Comandos Esenciales de MySQL para Administración y Gestión de Usuarios por CLI

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 6,67 KB

Acceso y Configuración Inicial de MySQL desde la Línea de Comandos (CMD)

Para interactuar con el servidor MySQL a través de la línea de comandos (CLI), es necesario ubicarse en el directorio de los ejecutables del servidor (comúnmente dentro de la instalación de XAMPP o similar).

  • Ubicación del ejecutable: cd xampp\mysql\bin
  • Activación del servicio MySQL: mysqld (Este comando activa el servicio MySQL si no está corriendo como demonio/servicio del sistema).

Métodos de Acceso a la Base de Datos

  • Acceso como usuario root (sin contraseña): mysql -u root
  • Acceso como usuario root (solicitando contraseña): mysql -u root -p
  • Acceso a un usuario específico (solicitando contraseña): mysql --user=lector --password o mysql -u lector -p

Gestión de Contraseñas del Usuario Root

A continuación, se detallan los comandos para modificar la contraseña del usuario root en localhost:

  • Eliminar la contraseña del usuario root: SET PASSWORD FOR root@localhost=PASSWORD('');
  • Asignar la contraseña 'prueba' al usuario root: SET PASSWORD FOR root@localhost=PASSWORD('prueba');

Gestión de Usuarios y Asignación de Permisos

La seguridad de la base de datos se fundamenta en la correcta creación de usuarios y la asignación de privilegios mínimos necesarios (Principio del Mínimo Privilegio).

Creación de Usuarios

  • Crear el usuario 'lector' con contraseña '12345': CREATE USER 'lector'@'localhost' IDENTIFIED BY '12345';
  • Crear el usuario 'escritor' con contraseña '54321': CREATE USER 'escritor'@'localhost' IDENTIFIED BY '54321';
  • Crear el usuario 'destructor' con contraseña '54321': CREATE USER 'destructor'@'localhost' IDENTIFIED BY '54321';
  • Crear el usuario 'superdestructor' con contraseña '55555': CREATE USER 'superdestructor'@'localhost' IDENTIFIED BY '55555';
  • Crear el usuario 'superusuario' con contraseña '54321': CREATE USER 'superusuario'@'localhost' IDENTIFIED BY '54321';
  • Crear el usuario 'superconcededor' con contraseña '54321': CREATE USER 'superconcededor'@'localhost' IDENTIFIED BY '54321';

Asignación de Privilegios (GRANT)

Los permisos se otorgan especificando la acción (SELECT, INSERT, DROP, etc.) y el alcance (base de datos.tabla).

  • Permiso de lectura (SELECT) al usuario 'lector' sobre la tabla PROFESORES: GRANT SELECT ON PROYECTOS1516.PROFESORES TO 'lector'@'localhost';
  • Permisos de lectura, inserción, eliminación y actualización al usuario 'escritor' sobre la tabla ALUMNOS: GRANT SELECT, INSERT, DELETE, UPDATE ON PROYECTOS1516.ALUMNOS TO 'escritor'@'localhost';
  • Permiso de eliminación de estructura (DROP) al usuario 'destructor' sobre la tabla ALUMNOS: GRANT DROP ON PROYECTOS1516.ALUMNOS TO 'destructor'@'localhost';
  • Permiso de eliminación de estructura (DROP) sobre todas las bases de datos y tablas al usuario 'superdestructor': GRANT DROP ON *.* TO 'superdestructor'@'localhost';
  • Todos los privilegios sobre todas las bases de datos al usuario 'superusuario': GRANT ALL PRIVILEGES ON *.* TO 'superusuario'@'localhost';
  • Todos los privilegios y la capacidad de otorgar permisos a otros usuarios (WITH GRANT OPTION) al usuario 'superconcededor': GRANT ALL PRIVILEGES ON *.* TO 'superconcededor'@'localhost' WITH GRANT OPTION;

Eliminación de Usuarios

  • Comando para eliminar un usuario: DROP USER 'nombredeusuario'@'localhost';

Comandos Esenciales de Administración y Consulta MySQL

Estos comandos son fundamentales para la gestión diaria, la optimización y la monitorización del estado del servidor y las bases de datos.

Comandos de Base de Datos

  • Activar una base de datos para su uso: USE [nombrebasededatos];
  • Ver todas las tablas de la base de datos activa: SHOW TABLES;
  • Ver las tablas de otra base de datos (desde la base de datos activa): SHOW TABLES FROM [nombrebasededatos];
  • Ver los usuarios registrados en la base de datos: SELECT user FROM mysql.user;

Comandos de Tablas

  • Renombrar una tabla: RENAME TABLE [nombredetablaantigua] TO [nombredetablanueva];
  • Ver el diseño o estructura de una tabla: DESCRIBE [nombredetabla];
  • Mostrar las columnas de una tabla (equivalente a DESCRIBE): SHOW COLUMNS FROM [nombredetabla];
  • Vaciar una tabla (elimina filas, mantiene la estructura): DELETE FROM [nombredetabla];
  • Vaciar una tabla (más rápido que DELETE, reinicia el autoincremento): TRUNCATE TABLE [nombredetabla];
  • Optimizar la tabla de la base de datos (recupera espacio): OPTIMIZE TABLE [nombrebasededatos.tabla];

Comandos de Índices

  • Crear un índice: CREATE INDEX [nombreindice] ON [nombretabla] ([atributos]); (Nota: Las claves primarias (PK) y las claves únicas (UNIQUE KEY) son índices por defecto).
  • Mostrar las claves primarias y únicas de la tabla: SHOW KEYS FROM [nombretabla];

Comandos de Estado y Monitorización del Servidor

  • Mostrar información general sobre las tablas de la base de datos activa: SHOW TABLE STATUS;
  • Mostrar información detallada del estado del servidor de la base de datos: SHOW STATUS;
  • Mostrar las variables de configuración del servidor: SHOW VARIABLES; (Estas variables pueden modificarse temporalmente usando el comando SET).
  • Mostrar los procesos actuales que se están ejecutando en la base de datos: SHOW PROCESSLIST;

Entradas relacionadas: