Для чего sql-дамп?

Я знаю, что дамп SQL является серией SQL-операторов вставки, которые отражают все записи в базе данных. Но для чего это используется? Почему мы должны вывести записи базы данных? Каждая поддержка БД функция дампа?

14
задан meetar 10 August 2012 в 14:39
поделиться

2 ответа

Как ни странно, это обычный способ резервного копирования базы данных. Копирование самих файлов, которые фактически содержат данные, не является обычным методом резервного копирования по разным сложным причинам.

Все реляционные базы данных работают таким образом, или, по крайней мере, я никогда не слышал о такой, которая не работает: все они имеют возможность экспортировать кучу кода SQL, который при выполнении воссоздает базу данных в том же состоянии. это было при запуске дампа.

Однако эти различные форматы обычно несовместимы из-за тонких различий между различными диалектами SQL, используемыми различными системами баз данных. Существуют утилиты, которые могут преобразовывать некоторые из них, но я не знаю ни одного «Розеттского камня», который обрабатывал бы все возможные случаи.

Помимо того, что этот метод является основным методом резервного копирования базы данных, он также полезен при промежуточном размещении данных приложений БД между разными серверами, то есть от разработки до тестирования и производства.

26
ответ дан 1 December 2019 в 09:12
поделиться

mysqldump создает SQL-представление данных для одной или нескольких таблиц или баз данных. Поскольку форматом является SQL, он будет работать на любом другом сервере MySQL, независимо от архитектуры или основной / вспомогательной версии (очевидно, что представления не будут работать на 4.x и т. Д., Но в основном он совместим с продвижением вперед).

Существует еще один инструмент, mysqlhotcopy , но поскольку этот инструмент создает двоичные файлы, они привязаны к машине, на которой они были созданы, и не могут использоваться где-либо еще. Преимущество SQL заключается в том, что он работает на любом сервере MySQL и не зависит от базового механизма хранения файлов баз данных.

Два основных варианта использования дампа SQL:

  • Резервное копирование данных базы данных. SQL может быть прочитан («воспроизведен») на пустой сервер базы данных, и он повторно создаст таблицы и заполнит их строками.
  • Перенос данных на другой сервер. Допустим, вы обновляете MySQL 5.0 до 5.1. У вас есть две машины. Вы используете mysqldump для создания дампа SQL на машине 5.0 и передаете его в 5.1.

Есть несколько менее распространенных применений. Например, моментальный снимок SQL базы данных вашего приложения может быть использован для модульного тестирования по известному состоянию. Также возможно преобразовать код SQL в другой диалект, например PostgeSQL или SQLite для переноса ваших данных в другую базу данных.

Вы спросили, предоставляют ли другие базы данных функцию дампа SQL. Ответ положительный почти во всех случаях. PostgreSQL предоставляет pg_dump , SQLite имеет команду .dump и т. Д.

3
ответ дан 1 December 2019 в 09:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: