Как сделать резервную копию базы/таблицы в MySQL
- AJIekceu4
- 05.05.2019
- 10 575
- 5
- 06.05.2019
- 10
- 8
- 2
В данной статье мы рассмотрим примеры того, как можно сделать резервную копию (бэкап, backup) базы данных MySQL (или же определенной таблицы из этой базы).
Бэкап БАЗЫ (БАЗ) данных
Для создания резервных копий баз данных MySQL из терминала Linux, существует специальная утилита mysqldump, которая устанавливается вместе с сервером. Ниже рассмотрим несколько различных примеров, используя которые можно делать резервные копии как целых баз, так и необходимых таблиц в конкретной базе.
Создаем резервную копию ОДНОЙ базы
mysqldump -u root -p database_name > database_name_backup.sql
-u root
- аргумент, означающий, что мы будем подключаться к MySQL серверу под учетной записью root (может быть любая учетная запись, имеющая необходимые права на нужную таблицу).
-p
- аргумент, означающий, что необходимо ввести пароль для авторизации (т.е. доступ для данного пользователя без пароля - не разрешен). В случае, когда пароль не требуется, данный аргумент можно упустить.
database_name
- это имя базы данных, резервную копию которой мы делаем.
database_name_backup.sql
- это название бекапа, который будет создан. Создается он в текущем каталоге из которого вы запускаете данную команду. Если вам необходимо сохранить резервную копию в какой-либо определенный каталог, то можно сразу указать путь до этого каталога, написав вместо database_name_backup.sql
, /tmp/database_name_backup.sql
. Таком образом, резервная копия будет создана в каталоге /tmp
Создаем резервную копию НЕСКОЛЬКИХ баз
В случае, когда необходимо одной командой создать бекапы для нескольких баз данных, можно воспользоваться следующей командой:
mysqldump -u root -p --databases database_name_1 database_name_2 database_name_3 > databases_backup.sql
--databases
- аргумент, указывающий, что далее будут перечислены базы данных, резервные копии которых мы хотим сделать.
database_name_1 database_name_2 database_name_3
- имена баз данных, резервные копии которых мы хотим сделать. Разделяются пробелом.
Создаем резервную копию ВСЕХ баз
В случае, когда необходимо одной командой сделать резервную копию всех доступных баз данных, можно воспользоваться следующей командой:
mysqldump -u root -p --all-databases > databases_backup.sql
--all-databases
, аргумент, указывающий, что необходимо сделать резервную копию всех доступных баз данных.
Бэкап ТАБЛИЦЫ (ТАБЛИЦ) из определенной базы данных
Создаем резервную копию ОДНОЙ таблицы из базы
В том случае, когда у вас нет нужды создавать резервную копию всей базы данных целиком, а необходимо лишь создать резервную копию одной таблицы из этой базы данных, можно воспользоваться следующей командой:
mysqldump -u root -p database_name table_name > table_name_backup.sql
table_name
- это имя таблицы, резервную копию которой мы хотим сделать и которая находится в базе данных database_name
.
Создаем резервную копию НЕСКОЛЬКИХ таблиц из базы
В том случае, когда вам необходимо сделать резервную копию нескольких таблиц из определенной базы, можно воспользоваться следующей командой:
mysqldump -u root -p database_name table_name_1 table_name_2 table_name_3 > tables_backup.sql
table_name_1 table_name_2 table_name_3
- это названия таблиц, резервные копии которых мы хотим сделать. В нашем примере данные таблицы находятся в базе данных database_name
.
Добавить комментарий