2013-02-27 2 views
0

Я работаю с инфраструктурой cppcms с cppdb и mysql и получил сообщение «Потерянное соединение с MySQL сервером во время запроса» при попытке сделать запрос в удаленной базе данных.Потерянное соединение с сервером MySQL во время запроса на удаленном хосте

У меня также есть локальная база данных, и приложение работает нормально с этим.

версия Remote MySQL: туздЫ Ver 5.5.29-0ubuntu0.12.10.1 для Debian-Linux-гну на i686 ((Ubuntu))

Спасибо за вашу помощь

+0

Что произойдет, если вы не используете рамки, а просто подключиться к удаленному компьютеру и выдают тот же запрос, используя 'mysql' утилиты командной строки? –

ответ

0

Два вопроса:

  • Вы используете пул соединений?
  • Вы уничтожаете объект cppdb::session, когда вы его использовали, или вы постоянно его поддерживаете?

Если вы сохраняете cppdb::session все время, вам, вероятно, не нужно это делать, потому что MySQL закрывает незанятые соединения через определенный промежуток времени. Лучше использовать пул соединений, предоставляемый CppDB.

Если вы уже используете пул соединений, попробуйте изменить параметр @pool_max_idle на меньшее значение.

См: http://cppcms.com/sql/cppdb/connstr.html#speckeys для получения более подробной информации

+0

Я не использовал пул соединений, теперь я, но все еще не работает (я читаю, что пул подключений активирован с помощью @ pool_size = sth, это достаточно?) – nico

Смежные вопросы