сделать дамп
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