ALTER TABLE - ошибка записи пакетов связи - PullRequest
0 голосов
/ 09 февраля 2019

Когда я пытаюсь выполнить запрос:

ALTER TABLE table ADD COLUMN column TEXT NOT NULL

Соединение остается в бесконечном цикле (блокировка таблицы) и выдает эту ошибку в журнале ошибок:

[Предупреждение] Прервано соединение 1475 с БД: «неподключенный» пользователь: «root» хост: «localhost» (ошибка при записи пакетов связи)

Итак, я попытался увеличить max_allowed_packet, как было предложенов некоторых темах до 10000M и выполняет только один запрос.Следующий (который вскоре после этого) снова блокирует все.Вот как выглядит my.ini:

[mysqld]
datadir=C:/Program Files/MariaDB 10.3/data
port=3306
innodb_buffer_pool_size=2033M
max_allowed_packet=10000M
[client]
port=3306
plugin-dir=C:/Program Files/MariaDB 10.3/lib/plugin

Я использую MariaDB в среде Windows и пытаюсь выполнить запрос с помощью pymysql (Python):

cur.execute("ALTER TABLE table ADD COLUMN column TEXT NOT NULL")

Кто-нибудь знает решение этой проблемы?

1 Ответ

0 голосов
/ 09 февраля 2019

Предел для max_allowed_packet составляет всего 1G.Вы получаете ошибку при использовании этого значения?

Ссылка

Между тем, в

ALTER TABLE table ADD COLUMN column TEXT NOT NULL

Я надеюсь, чтоимя таблицы не table, а имя столбца не column.

...