вы вызываете метод .query непосредственно для объекта @db ... что это за объект?
Я имею в виду ... если вы находитесь под Rails, вы должны вызывать запросы вроде:
result = ActiveRecord::Base.connection.execute("sql here")
Я думаю, что это может быть причиной, потому что Rails управляет пулом соединений (например, 5 установленных соединений, и каждый запрос направляется к одному из них на основе запросов).
В любом случае, если это не является причиной, возможно, ваш гем mysql2 скомпилирован с другой версией библиотеки libmysqlclient.so в системе ...
Затем, когда вы пытаетесь сделать запрос, он внутренне выдает ошибку о несовместимом протоколе и отключается ...
Пожалуйста, проверьте, что ваш libmysqlclient.so и его заголовочные файлы имеют одинаковую версию ...
Или если у вас не установлено больше версий ...
и затем, пожалуйста, попробуйте перекомпилировать mysql2 gem.
Надеюсь, это поможет.
С уважением, NoICE