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 --passwordomysql -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 comandoSET). - Mostrar los procesos actuales que se están ejecutando en la base de datos:
SHOW PROCESSLIST;