RU EN

Бэкап баз данных

 

В обычном случае для бэкапа оптимально использовать команду:

mysqldump -uroot -qRB db_name > db_name.sql

Для бэкапа с архивацией:

mysqldump -uroot -qRB db_name | bzip2 -9c > db_name.sql.bz
mysqldump -uroot -qRB db_name | gzip -9c > db_name.sql.gz

Просмотреть архивы можно командами:

bzcat db_name.sql.bz | less
zcat db_name.sql.gz | less

Возможен бэкап с удалённого сервера используя ssh (предполагается, что используется ssh-config):

ssh server 'mysqldump -uroot -qRB db_name' | bzip2 -9c > db_name.sql.bz
# или сразу залить в локальную базу
ssh server 'mysqldump -uroot -qCRB db_name' | mysql -uroot

Для дампа таблиц больших объёмов под текущей нагрузкой нужно использовать:

mysqldump -uroot --single-transaction --skip-lock-tables -qRB db_name

Полный дамп таблиц, включая сервисные, можно сделать командой:

mysqldump -uroot --events -qRA

Дамп только 10000 строк из определённой таблицы:

mysqldump -ntB db_name --tables tbl_name --where='1 order by id desc limit 10000'

Дамп базы без данных:

mysqldump -dB db_name

Янчарук А.В.
16.08.2015 08:09


Оставить комментарий


Имя  


Комментарий *