Как я могу сделать резервную копию большой базы данных в mysql? Размер папки базы данных превышает 5 ГБ и содержит 1,5 миллиона таблиц.
Я пытался сделать резервную копию сервера через phpmyadmin, но безуспешно.
При размере данных 5 ГБ вы почти наверняка не можете и не должны использовать дамп (myslqdump, phpmyadmin и т. Д.) В качестве резервной копии. Причина не в резервной копии. Причина в том, что восстановление займет много времени, возможно, много дней в зависимости от структуры таблицы и оборудования вашего сервера. Вам нужно какое-то резервное копирование файлов. Используете ли вы моментальный снимок LVM, Percona XtraBackup, rsync или что-то еще, будет зависеть от используемого механизма хранения, оборудования, файловой системы и ряда других факторов. Это слишком сложный вопрос, чтобы ответить без дополнительных подробностей, но я могу упростить его следующим образом:
Для больших активных баз данных может быть полезно создать подчиненное устройство репликации, которое можно отключить для полных резервных копий.
Затем можно выполнить резервное копирование, остановив репликацию и запустив mysqldump, или остановив mysqld и скопировав физические папки в место для резервных копий. http://www.howtoforge.com/back_up_mysql_dbs_without_interruptions
В любом случае, вероятно, лучше будет сделать это напрямую, а не через phpMyAdmin, поскольку файл дампа будет слишком большим, чтобы ваш браузер мог эффективно обрабатывать его.
Для получения дополнительной информации перейдите сюда, когда mysql.com снова будет в сети http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html
Мы используем Percona XtraBackup. Он будет выполнять неблокирующее резервное копирование больших баз данных. Это достаточно быстро. И оказался очень надежным. Он создает пригодную для использования копию базы данных. Мы делаем резервную копию в отдельный раздел, данные могут быть скопированы оттуда в раздел данных, или мы можем поменять местами разделы, чтобы использовать резервную копию напрямую. И это бесплатно.
Проверять, выписываться Двоичный журнал MySQL. Его можно использовать для настройки инкрементного резервного копирования. Вы также можете использовать mysqldump, но если база данных слишком велика, вероятно, потребуется некоторое время простоя для выполнения полного резервного копирования.
В одной из моих систем есть данные, которые изменяются таким образом, что нет смысла использовать двоичные журналы в качестве резервных копий. Размер файла ibdata составляет 131 ГБ. Для этого я использую следующее:
/usr/bin/mysqldump -u $1$MYSQLPASSWORD -f --opt --single-transaction --all-databases | lzma -3
Затем Bacula берет полученный сжатый файл и записывает его в резервную копию системы, как и любой другой файл.
Обратите внимание: когда вы говорите «размер папки», вы подразумеваете, что не используете InnoDB. Это может усложнить получение последовательного снимка.
Некоторые другие распространенные методы включают в себя моментальные снимки + инкрементальные бинлоги, моментальные снимки файловой системы и резервные подчиненные серверы. Существуют также инструменты Percona, которые позволяют читать горячее резервное копирование непосредственно из файла InnoDB. Какое решение лучше всего подходит для вас, во многом зависит от загрузки системы.