0% encontró este documento útil (0 votos)
4 vistas12 páginas

MySQL - Terminal

El documento proporciona una guía completa sobre comandos de MySQL, incluyendo conexión, administración, manipulación de datos, y gestión de usuarios y privilegios. Se detallan comandos específicos para crear, modificar y eliminar bases de datos y tablas, así como para realizar copias de seguridad y restauraciones. También se incluyen instrucciones para monitorear el rendimiento del servidor y gestionar usuarios y sus privilegios.

Cargado por

Ciadel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
4 vistas12 páginas

MySQL - Terminal

El documento proporciona una guía completa sobre comandos de MySQL, incluyendo conexión, administración, manipulación de datos, y gestión de usuarios y privilegios. Se detallan comandos específicos para crear, modificar y eliminar bases de datos y tablas, así como para realizar copias de seguridad y restauraciones. También se incluyen instrucciones para monitorear el rendimiento del servidor y gestionar usuarios y sus privilegios.

Cargado por

Ciadel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 12

1.

COMANDOS DE CONEXIÓN Y ADMINISTRACIÓN DEL SISTEMA


mysql - Cliente de línea de comandos principal

Uso: Conectarse a MySQL y ejecutar comandos SQL

# Conectar como usuario jpauli (pedirá contraseña)


mysql -u jpauli -p

# Conectar a una base de datos específica


mysql -u jpauli -p mi_base_datos

# Conectar a servidor remoto


mysql -u jpauli -p -h localhost -P 3306 mi_base_datos

# Conectar y ejecutar archivo SQL


mysql -u jpauli -p mi_base_datos < script.sql

# Conectar sin contraseña (si está configurado)


mysql -u jpauli mi_base_datos

# Ejecutar comando directo sin entrar al cliente


mysql -u jpauli -p -e "SHOW DATABASES;"

mysqladmin - Herramienta de administración

Uso: Administrar servidor MySQL desde línea de comandos

# Verificar si el servidor está corriendo


mysqladmin -u jpauli -p ping

# Ver estado del servidor


mysqladmin -u jpauli -p status

# Ver variables del sistema


mysqladmin -u jpauli -p variables

# Ver procesos activos


mysqladmin -u jpauli -p processlist

# Crear base de datos


mysqladmin -u jpauli -p create mi_nueva_db

# Eliminar base de datos


mysqladmin -u jpauli -p drop mi_base_datos

# Cambiar contraseña de usuario


mysqladmin -u jpauli -p password nueva_contraseña

# Refrescar privilegios
mysqladmin -u jpauli -p flush-privileges

# Parar el servidor (requiere privilegios)


mysqladmin -u root -p shutdown

mysqlshow - Mostrar información de bases de datos

Uso: Ver información sobre bases de datos, tablas y columnas

# Mostrar todas las bases de datos


mysqlshow -u jpauli -p

# Mostrar tablas de una base de datos


mysqlshow -u jpauli -p mi_base_datos

# Mostrar columnas de una tabla


mysqlshow -u jpauli -p mi_base_datos empleados

# Mostrar información detallada


mysqlshow -u jpauli -p --status mi_base_datos

2. COMANDOS DENTRO DEL CLIENTE MYSQL


Comandos de información y navegación
SHOW DATABASES - Listar bases de datos

Uso: Ver todas las bases de datos disponibles

SHOW DATABASES;
-- Muestra todas las BD a las que jpauli tiene acceso

USE - Seleccionar base de datos

Uso: Cambiar a una base de datos específica

USE mi_base_datos;
USE empresa_jpauli;

SHOW TABLES - Listar tablas

Uso: Ver todas las tablas en la base de datos actual

SHOW TABLES;

-- Ver tablas con patrón


SHOW TABLES LIKE 'emp%';

-- Ver información detallada de tablas


SHOW TABLE STATUS;

DESCRIBE / DESC - Describir estructura de tabla

Uso: Mostrar información sobre columnas de una tabla

DESCRIBE empleados;
DESC empleados;

-- Información más detallada


SHOW COLUMNS FROM empleados;

-- Ver solo columnas específicas


SHOW COLUMNS FROM empleados LIKE 'email%';

SHOW - Comandos de información general

Uso: Obtener información del sistema y configuración

-- Ver usuarios
SELECT User, Host FROM mysql.user;

-- Ver privilegios del usuario actual


SHOW GRANTS;

-- Ver privilegios de usuario específico


SHOW GRANTS FOR 'jpauli'@'localhost';

-- Ver motores de almacenamiento


SHOW ENGINES;

-- Ver variables del sistema


SHOW VARIABLES;
SHOW VARIABLES LIKE 'version%';

-- Ver status del servidor


SHOW STATUS;

-- Ver procesos activos


SHOW PROCESSLIST;

-- Ver índices de una tabla


SHOW INDEX FROM empleados;

Comandos de archivos y utilidades


source - Ejecutar archivo SQL

Uso: Ejecutar comandos desde un archivo

source /home/jpauli/scripts/crear_tablas.sql;
\. /home/jpauli/scripts/datos_iniciales.sql

tee - Registrar salida en archivo

Uso: Guardar comandos y resultados en archivo

tee /home/jpauli/session_log.txt;
-- Todos los comandos se guardarán en el archivo
SHOW DATABASES;
SELECT * FROM empleados;
notee; -- Detener el registro

system - Ejecutar comandos del sistema

Uso: Ejecutar comandos de shell desde MySQL

system ls -la /home/jpauli/backups/;


\! pwd

3. COMANDOS SQL - DEFINICIÓN DE DATOS (DDL)


CREATE DATABASE - Crear bases de datos
Uso: Crear nuevas bases de datos con opciones específicas

-- Base de datos básica


CREATE DATABASE empresa_jpauli;

-- Con conjunto de caracteres específico


CREATE DATABASE tienda_jpauli
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

-- Con todas las opciones


CREATE DATABASE sistema_jpauli
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci
COMMENT 'Base de datos principal de jpauli';
CREATE TABLE - Crear tablas
Uso: Definir estructura de tablas

-- Tabla básica
CREATE TABLE empleados (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
email VARCHAR(150) UNIQUE,
salario DECIMAL(10,2),
fecha_ingreso DATE DEFAULT (CURRENT_DATE),
activo BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tabla con motor específico y opciones


CREATE TABLE departamentos (
id INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(50) NOT NULL,
jefe_id INT,
presupuesto DECIMAL(15,2),
FOREIGN KEY (jefe_id) REFERENCES empleados(id) ON DELETE SET NULL,
INDEX idx_nombre (nombre)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Tabla temporal
CREATE TEMPORARY TABLE temp_empleados (
id INT,
nombre VARCHAR(100),
salario DECIMAL(10,2)
);

ALTER TABLE - Modificar tablas


Uso: Cambiar estructura de tablas existentes

-- Agregar columna
ALTER TABLE empleados ADD COLUMN telefono VARCHAR(15);

-- Agregar columna con posición específica


ALTER TABLE empleados ADD COLUMN direccion TEXT AFTER email;

-- Modificar columna
ALTER TABLE empleados MODIFY COLUMN salario DECIMAL(12,2);
ALTER TABLE empleados CHANGE COLUMN telefono celular VARCHAR(20);

-- Eliminar columna
ALTER TABLE empleados DROP COLUMN telefono;

-- Agregar índice
ALTER TABLE empleados ADD INDEX idx_email (email);

-- Agregar clave foránea


ALTER TABLE empleados ADD CONSTRAINT fk_departamento
FOREIGN KEY (departamento_id) REFERENCES departamentos(id);

-- Eliminar restricción
ALTER TABLE empleados DROP FOREIGN KEY fk_departamento;

-- Cambiar motor de almacenamiento


ALTER TABLE empleados ENGINE=MyISAM;

-- Renombrar tabla
ALTER TABLE empleados RENAME TO trabajadores;
DROP - Eliminar objetos
Uso: Eliminar bases de datos, tablas, etc.

-- Eliminar tabla
DROP TABLE empleados;

-- Eliminar tabla si existe


DROP TABLE IF EXISTS temporal;

-- Eliminar base de datos


DROP DATABASE mi_base_datos;

-- Eliminar base de datos si existe


DROP DATABASE IF EXISTS test_db;

-- Eliminar índice
DROP INDEX idx_email ON empleados;

CREATE INDEX - Crear índices


Uso: Mejorar rendimiento de consultas

-- Índice simple
CREATE INDEX idx_apellido ON empleados(apellido);

-- Índice compuesto
CREATE INDEX idx_nombre_dept ON empleados(nombre, departamento_id);

-- Índice único
CREATE UNIQUE INDEX idx_codigo ON empleados(codigo_empleado);

-- Índice de texto completo


CREATE FULLTEXT INDEX idx_descripcion ON productos(descripcion);

-- Índice con longitud específica


CREATE INDEX idx_email_partial ON empleados(email(10));

4. COMANDOS SQL - MANIPULACIÓN DE DATOS (DML)


INSERT - Insertar datos
Uso: Agregar nuevos registros

-- Inserción básica
INSERT INTO empleados (nombre, email, salario)
VALUES ('Juan Pauli', '[email protected]', 50000.00);

-- Inserción múltiple
INSERT INTO empleados (nombre, email, salario) VALUES
('María García', '[email protected]', 55000.00),
('Carlos López', '[email protected]', 48000.00),
('Ana Rodríguez', '[email protected]', 52000.00);

-- Inserción desde consulta


INSERT INTO empleados_backup (nombre, email, salario)
SELECT nombre, email, salario FROM empleados WHERE departamento_id = 1;

-- Inserción con ON DUPLICATE KEY UPDATE


INSERT INTO empleados (id, nombre, email, salario)
VALUES (1, 'Juan Pauli', '[email protected]', 55000.00)
ON DUPLICATE KEY UPDATE salario = VALUES(salario);

-- Inserción ignorando duplicados


INSERT IGNORE INTO empleados (email, nombre)
VALUES ('[email protected]', 'Juan Pauli');

SELECT - Consultar datos


Uso: Recuperar información de las tablas

-- Consulta básica
SELECT * FROM empleados;

-- Consulta con filtros


SELECT nombre, salario FROM empleados
WHERE salario > 50000 AND departamento_id = 1;

-- Con ordenamiento y límite


SELECT nombre, email, salario FROM empleados
ORDER BY salario DESC, nombre ASC
LIMIT 10 OFFSET 5;

-- Con agrupación
SELECT departamento_id, COUNT(*) as total, AVG(salario) as salario_promedio
FROM empleados
GROUP BY departamento_id
HAVING COUNT(*) > 5;

-- Consulta con JOIN


SELECT e.nombre, d.nombre as departamento, e.salario
FROM empleados e
INNER JOIN departamentos d ON e.departamento_id = d.id
WHERE e.salario > 45000;

-- Subconsultas
SELECT nombre, salario FROM empleados
WHERE salario > (SELECT AVG(salario) FROM empleados);

-- UNION
SELECT nombre, 'Empleado' as tipo FROM empleados
UNION
SELECT nombre, 'Cliente' as tipo FROM clientes;

-- Funciones de ventana (MySQL 8.0+)


SELECT nombre, salario,
RANK() OVER (ORDER BY salario DESC) as ranking_salario
FROM empleados;

UPDATE - Actualizar datos


Uso: Modificar registros existentes

-- Actualización básica
UPDATE empleados
SET salario = 55000.00
WHERE nombre = 'Juan Pauli';

-- Actualización múltiple
UPDATE empleados
SET salario = salario * 1.10,
updated_at = NOW()
WHERE departamento_id = 1;

-- Actualización con JOIN


UPDATE empleados e
JOIN departamentos d ON e.departamento_id = d.id
SET e.salario = e.salario * 1.05
WHERE d.nombre = 'Ventas';

-- Actualización con LIMIT


UPDATE empleados
SET activo = FALSE
WHERE ultimo_acceso < DATE_SUB(NOW(), INTERVAL 1 YEAR)
LIMIT 100;

DELETE - Eliminar datos


Uso: Remover registros de las tablas

-- Eliminación básica
DELETE FROM empleados WHERE nombre = 'Juan Pauli';

-- Eliminación con condiciones múltiples


DELETE FROM empleados
WHERE salario < 30000 AND fecha_ingreso < '2020-01-01';

-- Eliminación con JOIN


DELETE e FROM empleados e
JOIN departamentos d ON e.departamento_id = d.id
WHERE d.activo = FALSE;

-- Eliminación con LIMIT


DELETE FROM logs
WHERE fecha < DATE_SUB(NOW(), INTERVAL 30 DAY)
LIMIT 1000;

-- Vaciar tabla completamente (más rápido que DELETE)


TRUNCATE TABLE tabla_temporal;

5. COMANDOS DE BACKUP Y RESTAURACIÓN


mysqldump - Realizar backups

Uso: Crear respaldos de bases de datos

# Backup completo de base de datos


mysqldump -u jpauli -p empresa_jpauli > backup_empresa.sql

# Backup con estructura y datos


mysqldump -u jpauli -p --routines --triggers empresa_jpauli > backup_completo.sql

# Backup solo estructura (sin datos)


mysqldump -u jpauli -p --no-data empresa_jpauli > estructura_empresa.sql

# Backup solo datos


mysqldump -u jpauli -p --no-create-info empresa_jpauli > datos_empresa.sql

# Backup de tabla específica


mysqldump -u jpauli -p empresa_jpauli empleados > backup_empleados.sql

# Backup de múltiples bases de datos


mysqldump -u jpauli -p --databases empresa_jpauli tienda_jpauli > backup_multiple.sql

# Backup de todas las bases de datos


mysqldump -u jpauli -p --all-databases > backup_completo.sql

# Backup comprimido
mysqldump -u jpauli -p empresa_jpauli | gzip > backup_empresa.sql.gz

# Backup con bloqueo mínimo


mysqldump -u jpauli -p --single-transaction --routines --triggers empresa_jpauli > backup_empresa.sq

Restaurar backups
Uso: Restaurar bases de datos desde backups
# Restaurar base de datos completa
mysql -u jpauli -p empresa_jpauli < backup_empresa.sql

# Restaurar creando la base de datos


mysql -u jpauli -p -e "CREATE DATABASE nueva_empresa;"
mysql -u jpauli -p nueva_empresa < backup_empresa.sql

# Restaurar desde archivo comprimido


gunzip < backup_empresa.sql.gz | mysql -u jpauli -p empresa_jpauli

# Restaurar solo tabla específica


mysql -u jpauli -p empresa_jpauli < backup_empleados.sql

mysqlimport - Importar datos desde archivos

Uso: Importar datos desde archivos de texto

# Importar archivo CSV


mysqlimport -u jpauli -p --fields-terminated-by=',' --lines-terminated-by='\n' empresa_jpauli emplea

# Importar con opciones específicas


mysqlimport -u jpauli -p --fields-terminated-by=';' --fields-enclosed-by='"' --ignore-lines=1 empre

# Importar reemplazando datos existentes


mysqlimport -u jpauli -p --replace empresa_jpauli empleados.txt

6. COMANDOS DE USUARIOS Y PRIVILEGIOS


Gestión de usuarios
Uso: Crear y administrar usuarios de MySQL

-- Crear usuario
CREATE USER 'jpauli'@'localhost' IDENTIFIED BY 'contraseña_segura';
CREATE USER 'jpauli'@'%' IDENTIFIED BY 'contraseña_segura'; -- Acceso desde cualquier host

-- Cambiar contraseña
ALTER USER 'jpauli'@'localhost' IDENTIFIED BY 'nueva_contraseña';
SET PASSWORD FOR 'jpauli'@'localhost' = PASSWORD('nueva_contraseña');

-- Eliminar usuario
DROP USER 'jpauli'@'localhost';

-- Ver usuarios existentes


SELECT User, Host FROM mysql.user;

Gestión de privilegios
Uso: Asignar y revocar permisos

-- Otorgar todos los privilegios en una base de datos


GRANT ALL PRIVILEGES ON empresa_jpauli.* TO 'jpauli'@'localhost';

-- Otorgar privilegios específicos


GRANT SELECT, INSERT, UPDATE, DELETE ON empresa_jpauli.empleados TO 'jpauli'@'localhost';

-- Otorgar privilegios solo de lectura


GRANT SELECT ON empresa_jpauli.* TO 'jpauli'@'localhost';

-- Otorgar privilegios con opción de otorgar a otros


GRANT SELECT, INSERT ON empresa_jpauli.* TO 'jpauli'@'localhost' WITH GRANT OPTION;

-- Revocar privilegios
REVOKE INSERT, UPDATE ON empresa_jpauli.empleados FROM 'jpauli'@'localhost';
-- Ver privilegios
SHOW GRANTS FOR 'jpauli'@'localhost';

-- Aplicar cambios de privilegios


FLUSH PRIVILEGES;

7. COMANDOS DE MONITOREO Y ADMINISTRACIÓN


Monitoreo de rendimiento
Uso: Supervisar actividad y rendimiento del servidor

-- Ver conexiones activas


SHOW PROCESSLIST;
SHOW FULL PROCESSLIST;

-- Ver estado del servidor


SHOW STATUS;
SHOW STATUS LIKE 'Connections';
SHOW STATUS LIKE 'Threads_connected';

-- Ver variables de configuración


SHOW VARIABLES;
SHOW VARIABLES LIKE 'max_connections';

-- Ver motores de almacenamiento


SHOW ENGINES;

-- Ver tamaño de bases de datos


SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.tables
GROUP BY table_schema;

-- Ver tamaño de tablas


SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.tables
WHERE table_schema = 'empresa_jpauli'
ORDER BY (data_length + index_length) DESC;

-- Ver fragmentación de tablas


SELECT table_name,
ROUND(data_free / 1024 / 1024, 2) AS data_free_MB
FROM information_schema.tables
WHERE table_schema = 'empresa_jpauli' AND data_free > 0;

Optimización y mantenimiento
Uso: Mantener y optimizar bases de datos

-- Analizar tabla
ANALYZE TABLE empleados;

-- Optimizar tabla
OPTIMIZE TABLE empleados;

-- Reparar tabla
REPAIR TABLE empleados;

-- Verificar tabla
CHECK TABLE empleados;

-- Ver planes de ejecución


EXPLAIN SELECT * FROM empleados WHERE departamento_id = 1;
EXPLAIN FORMAT=JSON SELECT * FROM empleados WHERE salario > 50000;

-- Activar profiling
SET profiling = 1;
SELECT * FROM empleados WHERE departamento_id = 1;
SHOW PROFILES;
SHOW PROFILE FOR QUERY 1;

8. COMANDOS DE TRANSACCIONES
Control de transacciones
Uso: Manejar transacciones para integridad de datos

-- Iniciar transacción
START TRANSACTION;
-- o
BEGIN;

-- Operaciones dentro de la transacción


INSERT INTO empleados (nombre, email) VALUES ('Test User', '[email protected]');
UPDATE empleados SET salario = salario * 1.05 WHERE departamento_id = 1;

-- Confirmar cambios
COMMIT;

-- O deshacer cambios
ROLLBACK;

-- Punto de guardado (savepoint)


START TRANSACTION;
INSERT INTO empleados (nombre, email) VALUES ('Usuario1', '[email protected]');
SAVEPOINT sp1;
INSERT INTO empleados (nombre, email) VALUES ('Usuario2', '[email protected]');
ROLLBACK TO sp1; -- Solo deshace hasta el savepoint
COMMIT;

-- Configurar autocommit
SET autocommit = 0; -- Desactivar autocommit
SET autocommit = 1; -- Activar autocommit (por defecto)

9. COMANDOS DE CONFIGURACIÓN Y UTILIDADES


Variables de entorno útiles

# Configurar variables para usuario jpauli


export MYSQL_USER=jpauli
export MYSQL_DATABASE=empresa_jpauli
export MYSQL_HOST=localhost
export MYSQL_PORT=3306

# Archivo de configuración ~/.my.cnf


[client]
user=jpauli
password=tu_contraseña
host=localhost
database=empresa_jpauli

Comandos de configuración específicos de MySQL

-- Ver zona horaria


SELECT @@time_zone;

-- Cambiar zona horaria de sesión


SET time_zone = 'America/New_York';
-- Ver modo SQL
SELECT @@sql_mode;

-- Cambiar modo SQL


SET sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO';

-- Ver información del servidor


SELECT VERSION();
SELECT CONNECTION_ID();
SELECT DATABASE();
SELECT USER();

-- Configurar timeouts
SET SESSION wait_timeout = 3600;
SET SESSION interactive_timeout = 3600;

10. COMANDOS AVANZADOS Y FUNCIONES ESPECIALES


Funciones de fecha y hora

-- Fecha y hora actual


SELECT NOW(), CURDATE(), CURTIME();

-- Formatear fechas
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

-- Operaciones con fechas


SELECT DATE_ADD(NOW(), INTERVAL 30 DAY);
SELECT DATE_SUB(NOW(), INTERVAL 1 YEAR);
SELECT DATEDIFF('2024-12-31', '2024-01-01');

-- Extraer partes de fecha


SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());

Funciones de cadena

-- Manipulación de strings
SELECT CONCAT('Hola ', 'jpauli');
SELECT UPPER('texto'), LOWER('TEXTO');
SELECT LENGTH('jpauli'), CHAR_LENGTH('jpauli');
SELECT SUBSTRING('jpauli', 2, 3);
SELECT REPLACE('[email protected]', 'old', 'new');

-- Búsqueda en texto
SELECT * FROM empleados WHERE email LIKE '%jpauli%';
SELECT * FROM empleados WHERE nombre REGEXP '^[A-J]';

Funciones numéricas y agregadas

-- Funciones matemáticas
SELECT ROUND(3.14159, 2), CEIL(3.1), FLOOR(3.9);
SELECT ABS(-5), POWER(2, 3), SQRT(16);

-- Funciones agregadas
SELECT COUNT(*), SUM(salario), AVG(salario), MIN(salario), MAX(salario)
FROM empleados;

-- Funciones de ventana (MySQL 8.0+)


SELECT nombre, salario,
ROW_NUMBER() OVER (ORDER BY salario DESC) as numero_fila,
RANK() OVER (ORDER BY salario DESC) as ranking
FROM empleados;
CONSEJOS PRÁCTICOS PARA USUARIO JPAULI
1. Crear alias útiles en ~/.bashrc:

alias myconn='mysql -u jpauli -p empresa_jpauli'


alias mybackup='mysqldump -u jpauli -p --single-transaction --routines --triggers'
alias mystatus='mysqladmin -u jpauli -p status'

2. Archivo de configuración ~/.my.cnf:

[client]
user=jpauli
password=tu_contraseña_segura
host=localhost
port=3306
default-character-set=utf8mb4

[mysql]
database=empresa_jpauli
prompt=MySQL [\\d]>\\_
auto-rehash=FALSE

3. Scripts útiles de mantenimiento:

-- Script de mantenimiento diario


ANALYZE TABLE empleados, departamentos;
OPTIMIZE TABLE logs WHERE fecha < DATE_SUB(NOW(), INTERVAL 30 DAY);

-- Backup automático con fecha


-- En script bash:
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
mysqldump -u jpauli -p empresa_jpauli > /home/jpauli/backups/backup_$DATE.sql

4. Consultas útiles de monitoreo:

-- Ver tablas más grandes


SELECT table_name,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS 'Size (MB)'
FROM information_schema.tables
WHERE table_schema = 'empresa_jpauli'
ORDER BY (data_length + index_length) DESC;

-- Ver consultas lentas (si está habilitado el slow query log)


SELECT * FROM mysql.slow_log ORDER BY start_time DESC LIMIT 10;

También podría gustarte