Мне нужно сделать резервную копию базы данных на CentOS 5.5, запустив сервер MySQL из командной строки. В основном мне нужно экспортировать все в нем.
Если у вас есть большая база данных, которую вы хотите сохранить в оперативном режиме (т.е. не блокировать чтение) во время резервного копирования, вы также можете рассмотреть Innobackupex скрипт, который использует xtrabackup из percona, который поддерживает онлайн-резервное копирование как inno, так и myisam (с некоторой степенью согласованности)
Zmanda имеет продукт ZRM manager, который включает mysqldump
инструмент и сочетает в себе планировщик и агент отчетов, что удобно для управления заданиями cron и восстановления.
xtrabackup manager также является инструментом командной строки, который обертывает вызовы и в некоторой степени управляет планированием ... http://code.google.com/p/xtrabackup-manager/
А также есть Голландия, еще одна оболочка командной строки для резервного копирования mysql, которая поддерживает несколько бэкэндов.
Следуя @symcbean, это моя попытка получить согласованный дамп командной строки системы со смешанной конфигурацией движка myisam и innodb ... (это, очевидно, сделает вашу базу данных доступной только для чтения, пока она не будет завершена, и любые INSERT / UPDATE / DELETE запросы будут заблокированы и т. Д.)
FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = ON;
#--single-transaction is only useful if all the tables are innodb
SYSTEM mysqldump --lock-all-tables --quick --all-databases > all-databases.sql
SET GLOBAL read_only = OFF;
UNLOCK TABLES;
предостережения в том, что GLOBAL read_only не уважает пользователей root, поэтому, если вы запускаете свои веб-приложения как root, вам нужно будет убедиться, что они также были остановлены.
также, если ваша файловая система - xfs, или на LVM, вы можете использовать собственные инструменты fs, чтобы получить блокировку READ на уровне fs, которая устраняет необходимость блокировки на уровне базы данных. например для xfs;
СИСТЕМА xfs_freeze
а для lvm есть dmsetup.
mysqldump - подробности читайте на странице руководства.
Обратите внимание, что создание файла полной резервной копии может занять некоторое время - если вы хотите согласованную резервную копию, подумайте о настройке ведомого устройства репликации (и отключите репликацию во время создания резервной копии).
Использовать mylvmbackup сделать снимки файловой системы или (если база данных небольшая) mysqldump
получить дамп SQL. Я не рекомендую mysqldump
для больших наборов данных.
Также, mysqlhotcopy идеально подходит для MyISAM.
Для InnoDB попробуйте Горячее резервное копирование, но это стоит.