$ mysqldump -h localhost -u username -p database_name > backup_db.sql
Я могу использовать строку выше, но это только для одного db на сервере. Могу ли я сделать полную резервную копию всех баз данных в один файл резервной копии?
Или есть какая-то команда, которая сериализует этот процесс?
что-то вроде ниже (я добавил -all, что, скорее всего, неверно):
$ mysqldump -u username -h localhost -p -all | gzip -9 > backup_db.sql.gz
Спасибо.
Используйте параметр --all-databases, он вызывает дамп всех таблиц во всех базах данных:
mysqldump -u username -h localhost -p --all-databases > all_databases.sql
Кроме того, я бы предложил настроить файл my.cnf, чтобы ваш пароль не отображался в списке процессов. Проверь это. Это поможет вам и предотвратит взлом вашей базы данных SQL кем-либо, кто может иметь доступ к вашей системе.
Я бы предложил снимки LVM для резервных копий «всех баз данных», поскольку время блокировки, вероятно, будет большим. Однако отображаемое отсутствие исследования строки использования или "man mysql<^M>/all
"заставляет меня думать, что такое предложение может быть безответственным.
~$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help