Link Search Menu Expand Document
29 Июня 2023 г.

Бэкап mysql c помощью mysqldump

Содержание

Бэкапы очень нужны и очень важны!

Для создания дампа базы данных используется команда mysqldump. Ее можно использовать локально прямо на сервере где запущен mysql, либо удаленно.

# Базовый пример использования данные+структура
mysqldump -v -h127.0.0.1 -uroot empty -p > /tmp/dump.sql
# -v выводим детальную информацию о ходе выполнения скрипта
# -h хост куда требуется подключится
# -u пользователь от имени которого будет делаться бэкап
# -p пароль пользователя, лучше прям здесь не вводить

# Бэкап нескольких БД
mysqldump -v -h127.0.0.1 -uroot -B crm_empty risk_empty -p > /tmp/2.sql

# Бэкап всех имеющихся баз на сервере в один файл кроме системных
mysqldump -v -h127.0.0.1 -uroot --all-databases -p > /tmp/all.sql

# Бэкап только структуры базы данных
mysqldump -v -h127.0.0.1 -uroot --no-data empty -p > /tmp/no-data.sql

# Выгрузка определенных таблиц базы данных 
# данные + структура
mysqldump -v -h127.0.0.1 -uroot empty Alerts user -p > /tmp/one1.sql
# структура
mysqldump -v -h127.0.0.1 -uroot --no-data empty Alerts user -p > /tmp/no-data_one.sql

# Бэкап системной таблицы с пользователями 
mysqldump -v -h127.0.0.1 -uroot mysql user -p > /tmp/mysql-user.sql

# Временная метка в названии файла
mysqldump -v -h127.0.0.1 -uroot empty Alerts -p > /tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql

# Архив с бэкапом
mysqldump -v -h127.0.0.1 -uroot empty Alerts -p | gzip -c >/tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql.gz

# Игнорировать определенную таблицу
mysqldump -v -h127.0.0.1 -uroot --ignore-table=empty.Alerts empty Alerts -p > /tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql

# Выгрузить только данные, иногда может потребоваться
mysqldump -v -h127.0.0.1 -uroot --no-create-info empty Alerts -p > /tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql

# Бэкап оборачивает в транзакцию 
mysqldump -v -h127.0.0.1 -uroot --single-transaction empty Alerts -p > /tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql

# Создать под каждую таблицу два файла TABLE.sql - CREATE TABLE TABLE.txt - Данные таблицы
mysqldump -v -h127.0.0.1 -uroot empty -p --tab=/tmp > /tmp/$(date +"%Y-%m-%d-%H-%M-%S").sql

# Перенос данных с одного сервера на другой
mysqldump --opt database | mysql --host=remote-host -C database

Возник вопрос или предложение пиши на почту alexsey_89@bk.ru или в Телеграмм канал

Дата публикации: 29 Июня 2023 г.

Содержание


Наверх

Последнее изменение страницы: 29 Июня 2023 г.