2010-05-22 2 views
0

Я поддержал свой db с помощью mysqldump из phpMyAdmin. Использование MySQL 5.0.22. Не внесены изменения в файл базы данных. Импорт невозможен. Нашел множество экземпляров лишних пробелов, используя блокнот, но теперь не может найти никаких других подобных посторонних пространств. Ошибка 1064.MySQL 5.0.22 экспорт файла дампа не импортируется - синтаксические ошибки

Любые предложения по правильному вводу файла?

Спасибо.

ответ

0

Вы сделали несколько вещей неправильно здесь

  1. Использование PHPMyAdmin для чего-нибудь критическое, особенно резервных копий. По моему опыту, он не готов к производству. Не стесняйтесь использовать его для неважной работы только для чтения на некритических серверах.
  2. Редактирование файлов mysqldump с помощью блокнота (или любого другого редактора). Несмотря на внешность, файлы dump mysql не являются текстовыми файлами и не должны редактироваться ни с каким редактором. Они содержат двоичные данные, которые недопустимы в большинстве кодировок символов, и поэтому, возможно, не могут быть загружены/сохранены без введения ошибок.

Сделать новый дамп с помощью mysqldump, который является единственным надежным способом их создания, и импортировать его. Не редактируйте файлы дампа mysql с помощью блокнота или любого другого текстового инструмента (сюда относятся такие как grep, sed и т. Д.).

Если вам нужно отредактировать файл дампа mysql, а затем восстановить его в другой экземпляр базы данных (то есть непродуктивный), внесите необходимые изменения с помощью команд SQL и повторно удалите базу данных. Это может быть медленным, но надежным.

+0

Спасибо за понимание, вы на 100% прав. Проблема решена путем редактирования файла дампа .sql с помощью MySQL Workbench, а затем импорта. Отлично. Еще раз спасибо! – user348033

+0

Просто потому, что импорт преуспел, не предполагайте, что данные правильные. mk-table-checksum - инструмент, который вы можете использовать (эффективно) для сравнения данных в двух базах данных. Редактирование дампов mysql с помощью любого инструмента никогда не является хорошей идеей, если вы планируете их восстановить. – MarkR

1

У меня возникли проблемы с дампами mysql всех баз данных, включая представления. Итак, теперь я удаляю таблицы и данные как отдельный дамп и экспортирую виды, хранимые процедуры и функции отдельно. Я сначала восстанавливаю таблицы, затем виды и т. Д.

Приобретая MS SQL Server и Oracle, я хотел бы узнать, есть ли какие-либо абсолютно надежные инструменты для резервного копирования и восстановления баз данных MySQL.

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