2011-01-07 3 views
1

Если экспортировать базу данных с PhpMyAdmin его размер составляет 18MBэкспортированных базы данных имеют разные размеры

Если я expoert его из терминала с помощью этой команды размер только 11Мб.

/usr/bin/mysqldump --opt -u root -ppassword $ {DB} | gzip> $ {DB} .sql.gz

Не могли бы вы объяснить мне, почему? Из-за параметра -otp?

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

+0

Просто тупой вопрос: сжат ли ваш дамп phpmyadmin? – miku

+0

предпочитают mysqldump, гораздо лучшие дампы, поверьте мне, по крайней мере, они knwo, как заказать вставки, когда у вас есть зависимости, так что вы можете импортировать дамп - и что такое свалка, которую вы импортируете ... – regilero

+0

@regilero Да, m собирается использовать mysqldump. Но как быть уверенным, что он работал правильно? Наверное, просто потому, что это первый раз, и я немного боюсь. И да, это было одно и то же сжатие, во всяком случае, я сравниваю извлеченные файлы sql. – aneuryzm

ответ

1

С подробностями, которые вы указали, существует ряд возможностей относительно того, почему размеры могут отличаться. Если предположить, что выход из PhpMyAdmin также архивированная (в противном случае очевидной причиной разницы будет то, что один сжимается, а другой нет), следующий может повлиять на размер до некоторой степени:

  • Различные упорядочения операторов INSERT вызывая различия в сжимаемости данных
  • Один с использованием расширенных вставок, другой с использованием только стандартных вставок (это, скорее всего, дает разницу в размерах).
  • Другие комментарии, добавленные в инструмент экспорта PHPMYADMIN
  • и т.д. ...

Я предлагаю смотреть на экспорт, чтобы определить полноту (возможно, восстановить его в тестовой базе данных и проверки, что строка-счетчики на все таблицы являются

+0

Нет, это не из-за сжатия, я сравниваю sql-файл. Поэтому вы предлагаете оценить количество строк. Есть ли какой-либо автоматический инструмент для сравнения 2-х sql-файлов и выяснения, совпадают ли данные? – aneuryzm

+0

Различные уровни gzip. Можно было бы зацикливаться на скорости, один для пробела –

+0

Итак, в конце концов, я импортировал меньшую базу данных в phpmyadmin и экспортировал ее снова, и .. магия снова 17 МБ .. так что она завершена, и я предполагаю, что все в порядке. – aneuryzm

0

у меня нет достаточно очков, чтобы комментировать, так я добавил свои комментарии в этом ответе ...

Если посмотреть на несжатом содержании экспорт файлов из экспорта PHPMYADMIN и mysqldump они будут весьма различны аренда.

Вы можете использовать дифференциал для сравнения двух файлов SQL:

diff file1.sql file2.sql

Однако, по моему опыту, что НЕ будет полезно в этом случае.

Вы можете просто открыть файлы в своем любимом редакторе и сравнить их, чтобы убедиться сами.

Как упоминалось в предыдущем ответе Иридием, использование вставок может быть разным. Я создал две новые пустые базы данных и импортировал их (через phpmyadmin) - один из двух упомянутых выше экспорта (один из phpmyadmin, а другой через mysqldump).

Импорт с использованием файла экспорта mysqldump воссоздал базу данных, содержащую 151 таблицу с 1484 запросами.

Импорт с использованием файла экспорта phpmyadmin воссоздал базу данных, содержащую 151 таблицу с 329 запросами.

Конечно, эти цифры относятся только к моему примеру, но, похоже, это то, о чем Иридиум говорил раньше.

Смежные вопросы