Бэкап баз данных
В обычном случае для бэкапа оптимально использовать команду:
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