Бекап и восстановление баз MYSQL

Abdula аватар

Бекап и восстановление баз MYSQL

Данное описание пригодно для случая, когда описанные операции произодятся на одном и том же сервере.
При переносе баз на другой сервер процедура усложняется дополнительными действиями по заданию прав доступа к файлам, паролей доступа и т.п.

Команды, используемые для переноса баз MySQL:

Бекап базы в архив:

- выбранной базы:
$ mysqldump --opt -uлогин -pпароль -h localhost имя_базы | gzip -c > имя_архива.gz

- все базы:
$ mysqldump --opt -uлогин -pпароль -h localhost --all-databases | gzip -c > имя_архива.gz

$ mysqldump --opt -uusername -ppassword -h localhost --add-drop-table dbname > dump.sql
Рекомендуется ставить опцию --opt, особенно на работающих сайтах.

Cо сжатием (gzip) и показом хода выполнения:
$ mysqldump --opt -uusername -ppassword -h localhost --add-drop-table dbname | pv | gzip -cq9 > dbname.sql.gz

Импорт в базу:

$ mysql -uusername -ppassword -Ddbname < dump.sql

С показом хода выполнения:

$ pv  popgun_dbase.sql | mysql -uusername -ppassword -Ddbname

* Для показа хода выполнения процесса нужно установить в систему утилиту pv.

Для бекапа/импорта базы можно также использовать удобную PHP-утилиту Sypex Dumper.

RSS-материал