запись, содержащая более 562 МБ больших двоичных объектов, не вставляется в mysql

#mysql #sql-server #database-migration #database-performance #database-administration

#mysql #sql-server #база данных-миграция #база данных-производительность #администрирование базы данных

Вопрос:

У меня есть вложение таблицы, содержащее два столбца. идентификатор вложения —> введите INT attachdata —-> введите longblob .

значение столбца attachdata содержит размер 562 МБ.

Я переношу данные из oracle в MySQL с помощью инструмента переноса данных ESF. для вставки данных в MySQL требуется много часов времени, если объем данных превышает 500 МБ. Я также не получаю никаких ошибок. Я могу вставить данные размером до 400 МБ. должен ли я изменить какую-либо конфигурацию в моем .ini-файле для вставки данных большого размера? как вставить данные большого размера?

Комментарии:

1. Что такое SELECT @@max_allowed_packet; ? Я также не получаю никаких ошибок. Вы смотрели в журнале ошибок MySQL? сторонний инструмент может скрыть некоторые ошибки, решив, что он восстанавливается путем автоматического повторного подключения…

2. @Akina в моем файле.ini значение max_allowed_packet= 800M. после выполнения приведенного выше запроса выводится 838860800

3. я не получил никакой ошибки в файле журнала ошибок

4. Как вы выполняете ВСТАВКУ? ЗАГРУЗИТЬ ДАННЫЕ? ВСТАВИТЬ? из mysqldump? от клиента? другое? Что это за большой двоичный объект? изображение? на самом деле текст? другое?

5. @ricj James Я вставляю данные с помощью стороннего инструмента под названием ESF. Он извлекает данные из oracle и вставляет в mysql. Этот большой двоичный объект представляет собой pdf

Ответ №1:

Установите max_allowed_packet на максимальное значение: 1073741824

Тогда надейтесь, что ESF не преобразует большой двоичный объект в шестнадцатеричный, что требует 2 * 562 МБ.