Дамп базы данных MySQL

сделать дамп

mysqldump -u root -p db-name > /tmp/dump.sql

параметры команды

ключ -u - имя пользователя базы от имени которого вы собираетесь выполнить команду -u root
ключ -p - запросит пароль пользователя при выполнении команды
db-name - имя базы данных
dump.sql — имя дампа базы данных

при необходимости добавляем архив

tar -cvf /tmp/dump.tar.gz /tmp/dump.sql

извлечь из архива

tar -xvf /tmp/dump.tar.gz -C /tmp

развернуть дамп

mysql -u root -p db-name < /var/lib/mysql/dump.sql

скрипт позволяюший получить все названия баз данных и сделать их дампы

#!/bin/bash

DB_HOST="127.0.0.1"
DB_USER="root"
DB_PASSWORD="your_password"
BACKUP_DIR="/backup"

DATABASES=$(mysql -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASSWORD" -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema|mysql|sys)")
for DB in $DATABASES; do
  BACKUP_FILE="$BACKUP_DIR/$DB-$(date +%Y%m%d%H%M%S).sql"
  mysqldump -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASSWORD" "$DB" > "$BACKUP_FILE"
  if [ $? -eq 0 ]; then
    echo "backup '$DB' complite: $BACKUP_FILE"
  else
    echo "backup '$DB' error"
  fi
done