- Как сделать дамп базы MySQL / MariaDB
- Синтаксис и базовая команда
- Примеры создания дампа MySQL
- 1. С последующим архивированием
- 2. Для одновременно нескольких баз
- 3. Для всех баз одной командой
- 4. Резервирование только структуры базы
- 5. Создание копии определенной таблицы
- 6. Резервирование прав доступа на СУБД
- 7. Проигнорировать определенную таблицу
- Скрипт для резервного копирования
- Резервное копирование в phpMyAdmin
- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump
- Синтаксис команды Mysqldump
- Резервное копирование одной базы данных MySQL
- Резервное копирование нескольких баз данных MySQL
- Резервное копирование всех баз данных MySQL
- Резервное копирование всех баз данных MySQL в отдельные файлы
- Создание сжатой резервной копии базы данных MySQL
- Создать резервную копию с отметкой времени
- Восстановление дампа MySQL
- Восстановление одной базы данных MySQL из полного дампа MySQL
- Экспорт и импорт базы данных MySQL одной командой
- Автоматизация резервного копирования с помощью Cron
- Заключение
- Как сделать резервную копию базы/таблицы в MySQL
- Бэкап БАЗЫ (БАЗ) данных
- Создаем резервную копию ОДНОЙ базы
- Создаем резервную копию НЕСКОЛЬКИХ баз
- Создаем резервную копию ВСЕХ баз
- Бэкап ТАБЛИЦЫ (ТАБЛИЦ) из определенной базы данных
- Создаем резервную копию ОДНОЙ таблицы из базы
- Создаем резервную копию НЕСКОЛЬКИХ таблиц из базы
Как сделать дамп базы MySQL / MariaDB
В статье рассмотрим общие принципы выполнения резервного копирования СУБД MySQL или MariaDB. Также рассмотрим некоторые примеры часто используемых ключей и параметров резервирования.
Синтаксис и базовая команда
Создание дампа выполняется из командной строки Linux или Microsoft. Общий синтаксис:
mysqldump [опции] -p >
Пример базовой команды для резервирования базы:
mysqldump -v -uroot -p base > /tmp/dump.sql
* в данном примере мы создадим резервную копию базы base и поместим его в папку /tmp, назвав сам файл dump.sql. Подключение к базе происходит от пользователя root. Это самый простой пример создания дампа MySQL.
Базовые параметры команды mysqldump:
Параметр | Описание |
---|---|
-u | Учетная запись, от которой выполняется резервное копирование. Необходимо, чтобы у пользователя были соответствующие права. |
-p | Пароль учетной записи. Его можно ввести в команде, например -p12345 (для скрипта) или оставить -p (безопаснее). |
* полный перечень параметров смотрите в официальном руководстве.
Примеры создания дампа MySQL
1. С последующим архивированием
mysqldump -uroot -p $
* в данном примере мы сначала создали переменную DBNAME, в которую внесли значение с именем базы, которую необходимо забэкапить. После выполняем команду mysqldump, результат выполнения которой по конвееру отдаем архиватору gzip. В результате мы получит дамп по пути /tmp/ .sql.gz
Или с подробным выводом информации на экран (дольше по времени):
mysqldump -v -uroot -p $
2. Для одновременно нескольких баз
Просто перечисляем имена баз через пробел и добавляем параметр -B
mysqldump -v -uroot -p -B base1 base2 base3 > /tmp/dump_multiply_bases.sql
3. Для всех баз одной командой
Для этого ставим —all-databases, вместо имен баз
mysqldump -v -uroot -p —all-databases > /tmp/dump_all_bases.sql
4. Резервирование только структуры базы
Для уточнения, это создание копии только самих таблиц без данных. Делается добавлением параметра —no-data
mysqldump -v -uroot -p —no-data base1 > /tmp/dump_base1_nodata.sql
5. Создание копии определенной таблицы
Для этого после базы через пробел перечисляем названия таблиц
mysqldump -v -uroot -p base1 table1 table2 > /tmp/dump_base1_tables.sql
6. Резервирование прав доступа на СУБД
Позволяет выгрузить все учетные записи с паролями. Удобно для переноса СУБД на новый сервер без потери доступа к нему.
mysqldump -v -uroot -p mysql user > /tmp/mysql_user.sql
* после восстановления этого дампа, необходимо в sql shell выполнить команду flush privileges;
7. Проигнорировать определенную таблицу
Выполняется при помощи ключа ignore-table:
mysqldump -v -uroot -p base —ignore-table=base.logs > /tmp/base.sql
Скрипт для резервного копирования
Для повседневных операций по резервному копированию MySQL рекомендуется написать скрипт и запускать его через cron.
Резервное копирование в phpMyAdmin
В качестве графического инструмента для работы с MySQL/MariaDB используется phpMyAdmin. Разберем, как с его помощью сделать экспорт данных.
В верхней части меню кликаем по Экспорт:
В разделе «Способ экспорта» ставим переключатель в положение Обычный:
* обычный режим откроет дополнительные опции для резервного экспорта данных.
Выбираем компрессию, например, zip:
И в нижней части окна нажимаем OK.
Начнется загрузка файла с резервной копией на компьютер.
Для восстановления базы читайте инструкцию Как восстановить базу MySQL
Источник
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Как сделать резервную копию и восстановить базу данных MySQL с помощью Mysqldump
Делай бекапы — не будет факапов
В этом руководстве мы рассказываем, как выполнить резервное копирование и восстановление баз данных MySQL или MariaDB из командной строки с помощью утилиты mysqldump.
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Файлы резервных копий, созданные утилитой mysqldump, представляют собой набор операторов SQL, которые можно использовать для воссоздания исходной базы данных. Команда mysqldump также может генерировать файлы в формате CSV и XML. Вы также можете использовать утилиту mysqldump для переноса вашей базы данных MySQL на другой сервер MySQL.
Синтаксис команды Mysqldump
Прежде чем приступить к использованию команды mysqldump, начнем с обзора основного синтаксиса.
Выражения утилиты mysqldump имеют следующую форму:
- options — параметры mysqldump
- file.sql — дамп (резервная копия) файла
Для использования команды mysqldump сервер MySQL должен быть доступен и запущен.
Резервное копирование одной базы данных MySQL
Наиболее распространенный вариант использования инструмента mysqldump — резервное копирование одной базы данных.
Например, чтобы создать резервную копию базы данных с именем database_name , используя пользователя root , и сохранить ее в файл с именем database_name.sql , вы должны выполнить следующую команду:
Вам будет предложено ввести пароль root. После успешной аутентификации начнется процесс дампа. В зависимости от размера базы данных процесс может занять некоторое время.
Если вы вошли в систему как тот же пользователь, которого вы используете для выполнения экспорта, и этот пользователь не требует пароля, вы можете пропустить опции -u и -p :
Резервное копирование нескольких баз данных MySQL
ля резервного копирования нескольких баз данных MySQL одной командой вам нужно использовать параметр —database , за которым следует список баз данных, которые вы хотите сделать резервную копию. Каждое имя базы данных должно быть разделено пробелом.
Команда выше создаст файл дампа, содержащий обе базы данных.
Резервное копирование всех баз данных MySQL
Используйте опцию —all-database для резервного копирования всех баз данных MySQL:
Как и в предыдущем примере, команда выше создаст один файл дампа, содержащий все базы данных.
Резервное копирование всех баз данных MySQL в отдельные файлы
Утилита mysqldump не предоставляет возможность резервного копирования всех баз данных в отдельные файлы, но мы легко достигаем этого с помощью простого цикла bash FOR:
Команда выше создаст отдельный файл дампа для каждой базы данных, используя имя базы данных в качестве имени файла.
Создание сжатой резервной копии базы данных MySQL
Если размер базы данных очень большой, рекомендуется сжать вывод. Для этого просто перенаправьте вывод в утилиту gzip и перенаправьте его в файл, как показано ниже:
Создать резервную копию с отметкой времени
Если вы хотите сохранить более одной резервной копии в одном месте, вы можете добавить текущую дату в имя файла резервной копии:
Команда выше создаст файл в следующем формате database_name-20200223.sql
Восстановление дампа MySQL
Вы можете восстановить дамп MySQL с помощью инструмента mysql. Общий синтаксис команды выглядит следующим образом:
В большинстве случаев вам необходимо создать базу данных куда вы будете производить импорт. Если база данных уже существует, сначала вам нужно удалить ее.
В следующем примере первая команда создаст базу данных с именем database_name , а затем импортирует в нее дамп database_name.sql :
Восстановление одной базы данных MySQL из полного дампа MySQL
Если вы создали резервную копию всех своих баз данных с помощью параметра -all-database и хотите восстановить одну базу данных из файла резервной копии, который содержит несколько баз данных, используйте параметр —one-database , как показано ниже:
Экспорт и импорт базы данных MySQL одной командой
Вместо того, чтобы создавать файл дампа из одной базы данных и затем импортировать резервную копию в другую базу данных MySQL, вы можете использовать следующую однострочную команду:
Команда выше передаст вывод клиенту mysql на удаленном хосте и импортирует его в базу данных с именем remote_database_name . Перед выполнением команды убедитесь, что база данных уже существует на удаленном сервере.
Автоматизация резервного копирования с помощью Cron
Автоматизация процесса резервного копирования баз данных так же проста, как создание задания cron, которое будет запускать команду mysqldump в указанное время.
Чтобы настроить автоматическое резервное копирование базы данных MySQL с помощью cronjob, выполните следующие действия:
- Создайте файл с именем .my.cnf в вашем домашнем каталоге пользователя: Скопируйте и вставьте следующий текст в файл .my.cnf . Не забудьте заменить dbuser и dbpasswd на пользователя базы данных и пароль пользователя.
- Ограничьте права доступа к файлу учетных данных, чтобы только ваш пользователь имел к нему доступ, используя команду cmod (подробнее про которую можно прочесть тут):
- Создайте каталог для хранения резервных копий при помощи комадны mkdir (про нее тоже есть статья):
- Откройте ваш пользовательский файл crontab: Добавьте следующее задание cron, которое будет создавать резервную копию имени базы данных mydb каждый день в 3 часа ночи: Не забудьте заменить username вашим реальным именем пользователя. Вы также можете создать еще один cron job, чтобы удалить любые резервные копии старше 30 дней: Конечно, вам нужно настроить команду в соответствии с вашим местоположением резервной копии и именами файлов. Чтобы узнать больше о команде find, ознакомьтесь с нашим Руководством по поиску файлов в Linux с помощью командной строки.
Заключение
Это руководство охватывает только основы, но оно должно быть хорошим началом для тех, кто хочет научиться создавать и восстанавливать базы данных MySQL из командной строки с помощью утилиты mysqldump. Если вы хотите найти больше материалов про базы данных, то просто наберите sql в нашем поиске!
Мини — курс по виртуализации
Знакомство с VMware vSphere 7 и технологией виртуализации в авторском мини — курсе от Михаила Якобсена
Источник
Как сделать резервную копию базы/таблицы в MySQL
В данной статье мы рассмотрим примеры того, как можно сделать резервную копию (бэкап, backup) базы данных MySQL (или же определенной таблицы из этой базы).
Бэкап БАЗЫ (БАЗ) данных
Для создания резервных копий баз данных MySQL из терминала Linux, существует специальная утилита mysqldump, которая устанавливается вместе с сервером. Ниже рассмотрим несколько различных примеров, используя которые можно делать резервные копии как целых баз, так и необходимых таблиц в конкретной базе.
Создаем резервную копию ОДНОЙ базы
-u root — аргумент, означающий, что мы будем подключаться к MySQL серверу под учетной записью root (может быть любая учетная запись, имеющая необходимые права на нужную таблицу).
-p — аргумент, означающий, что необходимо ввести пароль для авторизации (т.е. доступ для данного пользователя без пароля — не разрешен). В случае, когда пароль не требуется, данный аргумент можно упустить.
database_name — это имя базы данных, резервную копию которой мы делаем.
database_name_backup.sql — это название бекапа, который будет создан. Создается он в текущем каталоге из которого вы запускаете данную команду. Если вам необходимо сохранить резервную копию в какой-либо определенный каталог, то можно сразу указать путь до этого каталога, написав вместо database_name_backup.sql , /tmp/database_name_backup.sql . Таком образом, резервная копия будет создана в каталоге /tmp
Создаем резервную копию НЕСКОЛЬКИХ баз
В случае, когда необходимо одной командой создать бекапы для нескольких баз данных, можно воспользоваться следующей командой:
—databases — аргумент, указывающий, что далее будут перечислены базы данных, резервные копии которых мы хотим сделать.
database_name_1 database_name_2 database_name_3 — имена баз данных, резервные копии которых мы хотим сделать. Разделяются пробелом.
Создаем резервную копию ВСЕХ баз
В случае, когда необходимо одной командой сделать резервную копию всех доступных баз данных, можно воспользоваться следующей командой:
—all-databases , аргумент, указывающий, что необходимо сделать резервную копию всех доступных баз данных.
Бэкап ТАБЛИЦЫ (ТАБЛИЦ) из определенной базы данных
Создаем резервную копию ОДНОЙ таблицы из базы
В том случае, когда у вас нет нужды создавать резервную копию всей базы данных целиком, а необходимо лишь создать резервную копию одной таблицы из этой базы данных, можно воспользоваться следующей командой:
table_name — это имя таблицы, резервную копию которой мы хотим сделать и которая находится в базе данных database_name .
Создаем резервную копию НЕСКОЛЬКИХ таблиц из базы
В том случае, когда вам необходимо сделать резервную копию нескольких таблиц из определенной базы, можно воспользоваться следующей командой:
table_name_1 table_name_2 table_name_3 — это названия таблиц, резервные копии которых мы хотим сделать. В нашем примере данные таблицы находятся в базе данных database_name .
Источник