|
mysql: как сделать дамп через консоль (терминал)
Для бэкапа баз можно воспользоватся утилитой mysqldump. Она сделает дамп базы mysql в текстовый файл.
Этой командой мы делаем бэкап базы данных под именем database_name в файл dump.sql Еще несколько вариантов:
Если нужно автоматизировать удаление старых архивов, можно воспользоваться cron и командой find. Запуская периодически find ~/каталог-с-архивами -name "*.gz" -mtime +7 -exec rm -f {} ; Тем самым Вы будете удалять архивы, которые "старше" 7 дней. Несколько полезных параметров mysqldump:--databases позволяет сделать так, что mysqldump включит в сценарий восстановления команды CREATE DATABASE /*!33333 IF NOT EXISTS*/ DBNAME и USE DBNAME. Это позволит создавать рабочие базы "с нуля". То есть, без использования --databases подразумевается, что пользователь восстанавливает одну базу данных и явно указывает, куда нужно помещать восстанавливаемые данные. Если же backup mysql создается с целью сделать полностью рабочую копию данных, например, на другом MySQL-сервере, то нужно использовать этот ключ; --all-databases позволяет сделать backup всех баз данных, которые существуют на данном MySQL-сервере. Если же нужно сделать копии только некоторых баз, нужно просто указать их через пробел при вызове mysqldump из командной строки (см. выше); --add-drop-table - ключ, который заставит mysqldump добавлять в итоговый сценарий команду drop table перед созданием таблиц. Это позволит избежать некоторых ошибок при восстановлении базы из резервной копии. Конечно, нужно учитывать то, что таблицы, находящиеся в рабочей копии (если таблицы с таким же именем существуют в backup), перед восстановлением из резервной копии будут удалены из основной базы и пересозданы из backup; --no-data. С помощью этого ключа можно быстро сделать копию структуры таблицы/баз без самих данных. Например, Вы создали сложную таблицу и хотели бы сохранить на будущее ее структуру, а сами данные, которые находятся в этой таблице, Вам в резервной копии не нужны; Восстановление из бэкапа
Оптимизация и обслуживание базы mysqlЕсть и очень ленивая версия процесса, обработает все MyISAM таблицы во всех БД, доступных указанному пользователю и работает без остановки сервера MySQL:
Или в конкретной БД:
Без оптимизации, только проверку и ремонт можно сделать и для таблиц типа InnoDB:
| |