Хочу изменить настройки MySQL, а именно, wait_timeout. Дописываю в файл /etc/mysql/my.cnf соответствующую строку, перегружаю сервер, но настройки не применяются и остается старое значение. Еще файлов с настройками, перекрывающих данный файл, я не нашел в системе. Подскажите, что еще можно сделать или почему не происходит изменения параметра?
Ответ
согласно документации
On thread startup, the session wait_timeout value is initialized from the global wait_timeout value or from the global interactive_timeout value, depending on the type of client (as defined by the CLIENT_INTERACTIVE connect option to mysql_real_connect())
т.е., для сессии интерактивного клиента (в котором вы проверяете значение) в качестве сессионного значения для wait_timeout берётся значение не глобальной переменной wait_timeout, а глобальной переменной interactive_timeout
т.о., чтобы изменить wait_timeout для интерактивного клиента, измените глобальное значение interactive_timeout
а для того, чтобы проверить значение этой перменной для неитерактивных клиентов с помощью того же самого клиента, выполните запрос неинтерактивно, примерно так:
$ echo 'show variables like "wait_timeout"' | mysql
ещё раз, многословнее:
чтобы установить сессионное значение wait_timeout для интерактивных сессий, меняйте глобальную переменную interactive_timeout
чтобы установить сессионное значение wait_timeout для неинтерактивных сессий, меняйте глобальную переменную wait_timeout
Комментариев нет:
Отправить комментарий