Aqui os paso los comandos de consola (CLI) relacionados con mysql
y mysqldump
,en un resumen claro y directo de los más usados:
mysql
mysql -u usuario -p
mysql -h direccion_ip -u usuario -p
mysql -u usuario -p nombre_base < archivo.sql
mysql -u usuario -p -e "SHOW DATABASES;"
mysql -u usuario -p -e "SELECT * FROM tabla;" nombre_base > salida.txt
mysqldump
mysqldump -u usuario -p nombre_base > respaldo.sql
mysqldump -u usuario -p --all-databases > todas.sql
mysqldump -u usuario -p -d nombre_base > estructura.sql
-d
o--no-data
mysqldump -u usuario -p nombre_base nombre_tabla > tabla.sql
mysqldump -u usuario -p nombre_base | gzip > respaldo.sql.gz
mysql --version
Aqui os paso un script Bash para automatizar los backups:
backup_mysql.sh
#!/bin/bash
# Configuración
USUARIO="tu_usuario"
PASSWORD="tu_contraseña"
BASES=(base1 base2) # Lista de bases a respaldar
DIR_BACKUP="/ruta/a/backups"
FECHA=$(date +%F)
mkdir -p "$DIR_BACKUP"
for BASE in "${BASES[@]}"; do
mysqldump -u "$USUARIO" -p"$PASSWORD" "$BASE" | gzip > "$DIR_BACKUP/${BASE}_$FECHA.sql.gz"
done
Asegúrate de darle permisos de ejecución:
chmod +x backup_mysql.sh
cron
Para que el script se ejecute automáticamente cada día a las 2:00 AM:
crontab -e
Y añade:
0 2 * * * /ruta/a/backup_mysql.sh