Мне нужно знать некоторый номер парка шаров для этой переменной для моего сайта drupal 7. Недавно я получил «drupal» PDOException: SQLSTATE [08S01]: ошибка канала связи: ошибка 1153 ". Я новичок в MySQL и использую виртуальный хостинг. Мне, вероятно, нужно попросить администратора сделать это для меня.
Заранее спасибо.
Ответы:
Я видел интересный ответ на вопрос о самой большой BLOB, которую вы можете иметь. Вот утверждение, которое я видел в ServerFault: объединенные innodb_log_file_size и innodb_log_buffer_size должны быть в десять раз больше, чем ваш самый большой объект BLOB, если у вас много больших объектов .
Основываясь на этом сообщении ServerFault от Nils-Anders Nøttseter , вы должны запросить таблицу и выяснить, какой BLOB является самым большим, умножить это число на 11 или более и использовать этот ответ в качестве max_allowed_packet в дальнейшем.
Забавно, что я обратился к другому вопросу, где я предложил определить размер пакета max_allowed, чтобы, надеюсь, решить эту проблему .
ПРЕДОСТЕРЕЖЕНИЕ
Согласно Книге
Вот что говорит о пакетах MySQL:
Знание этого о пакетах MySQL позволяет администраторам баз данных изменять их размер для размещения нескольких больших двоичных объектов в одном пакете MySQL, даже если они очень большие.
Что касается вашей ситуации, вы должны выяснить, какой самый большой BLOB-объект в вашей базе данных, умножить это число на 11 и установить свой max_allowed_packet на это число. Вы должны иметь возможность установить его для сервера без перезапуска mysql (лично я бы установил его на 256M, потому что это решит другие проблемы, связанные с миграцией и репликацией, что выходит за рамки этого форума). Чтобы установить 256M для вашей базы данных для всех входящих соединений, пожалуйста, запустите это:
Затем добавьте этот параметр в my.cnf в
[mysqld]
разделе:источник
Взято со страницы требований к серверу базы данных Drupal :
Должно быть хорошо для сайта на виртуальном хостинге.
источник
Это может быть немного сложно установить
max_allowed_packet
. Мне еще не приходилось сталкиваться с методом расчета этой стоимости. Как правило, я сталкиваюсь с этим при попытке восстановить снимок базы данных, который включает строки из{cache}
таблиц.Когда у меня возникнет эта проблема, я выберу значение от 4 до 8 миллионов. Я продолжаю увеличивать значение, пока оно не остановится. Однако я не знаю, изменит ли это значение общий хост.
источник