Я испытываю странное поведение mysql, которое происходит между двумя виртуальными машинами.
Когда у меня есть строка запроса длиннее 1457 символов, используемое соединение зависает.
Я думал, что проблема была в запросе с кучей результатов, но потом обнаружил, что
строка запроса не важна.
Например:
select * from users where uname = "abcdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffpooooooooooppppppppfooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooffffffseroieeeeuuwwwwwwwwwwwuii";
вешает сервер.
Если я удалю один символ из этой строки, mysql вернет пустой набор записей, как и ожидалось. Такого пользователя нет, а поле uname равно varchar(64). Таблица содержит только одну запись.
Я попытался отслеживать сокет и обнаружил, что строка запроса повторно передается 20 раз, а затем трафик останавливается, но клиент не выходит, а соединение не прерывается/закрывается.cd
192.168.0.111:43012 -> 192.168.0.112:mysql
...
bytes_sent: 22614
bytes_retrans: 20260
bytes_acked:329
bytes_received:8208
segs_out: 28
segs_in:10
data_segs_out:18
data_segs_in:8
...
Тот же самый запрос, сделанный из другого экземпляра на тот же сервер, работает безупречно.
Я попробовал официальный терминальный клиент mysql, альтернативный терминальный клиент и скрипт, но получил тот же результат.