Создание дампа базы данных MYSQL

1 986

1. Создать полный дамп MySQL:

mysqldump -uroot --all-databases --routines --triggers -p > mysql.dump

2. Создать и сжать дамп БД:

mysqldump -uroot -proot DATABASE | gzip > ./db.sql.gz

3. Создать дамп структуры MySQL:

mysqldump -u%user% -p%pass% --no-data db_name > db_name.dump

4. Сжать SQL дамп:

gzip --best < db_name.sql > db_name.sql.gz

5. Исключить таблицы юзеров WP:

mysqldump -uUSER -pPASS --ignore-table=blog.wp_users --ignore-table=blog.wp_usermeta blog > blog_without_users.sql

6. Создать полный дамп БД - каждая БД в отдельном архиве (shell-скрипт):

#!/bin/bash
dblist=`mysql -u%user% -p%pass% -e "show databases" | sed -n '2,$ p'`
for db in $dblist; do mysqldump -u%user% -p%pass% --routines --triggers $db | gzip --best > $db.sql.gz
done

7. Восстановить MySQL дамп:

mysql -uUSER -hlocalhost -pPASS DB_NAME < /path/dump.sql

8. Восстановить .sql.gz дамп:

gunzip -c dump.sql.gz | mysql -uroot -hlocalhost -p%pass% %database%

9. Выдернуть конкретную таблицу из общего дампа:

awk '/CREATE TABLE `table_name`/,/UNLOCK TABLES/' db_name.dump