Я создавал резервную копию базы данных MySQL в течение нескольких лет с командой: mysqldump myDatabaseName -u root > myBackupFile.sql
Резервные копии, казалось, хорошо работали...
Я затем хотел восстановить одни из резервных копий на другую именованную базу данных, таким образом, я сделал: mysql myNewDatabaseName -u root < myBackupFile.sql
Я получил некоторые ошибки о размере файла журнала, таким образом, я остановил Mysql и удалил файлы журнала и установил следующие параметры в файле my.ini и перезапустил mysql.
innodb_log_file_size=64M
innodb_log_buffer_size=8M
Восстановление теперь завершается без ошибок, но одна из трех таблиц, которая содержит блобы, никогда не восстанавливается.
Мой max-allowed-packet
установлен на 32M
Размер резервного копирования базы данных составляет приблизительно 2,2 ГБ большинство того размера, находящегося в таблице, которая не восстанавливает. Если я выполняю mysqldump на восстановленной базе данных, размер составляет 185 МБ.
Я теперь попытался делать a mysqldump
с опцией --hex-blob
но я не попытался восстановить тот файл (3,9 ГБ) все же.
У меня действительно должен быть бомбонепробиваемый способ скопировать и восстановить, поскольку мои существующие резервные копии кажутся бесполезными. Я особенно обеспокоен, что это "перестало работать тихо" без записей журнала ошибок насколько я вижу.
Среда является Windows Server 2003 sp2
Любая справка ценится!
George
Мне удалось создать резервную копию и восстановить большие двоичные объекты с помощью следующей команды mysqldump:
mysqldump --opt --skip-extended-insert --max_allowed_packet=128M -u root myDB > filename
Не уверен, указывает ли она max_allowed_packet
в командной строке или skip-extended-insert
], что помогло.
Я предполагал, что использовался мой max_allowed_packet
из 32M, но я думаю, что в конфигурационном файле mysql он находится в разделе [mysqld] и поэтому, вероятно, не относится к дампу.
Я до сих пор не понимаю, почему у меня нет ошибок ни при дампе, ни при восстановлении.