Рейтинг:0

Как изменить MySQL wait_timeout в производственной среде во время выполнения?

флаг gl

Я использую Windows, IIS, MySQL, PHP.

В файле my.ini в разделе [mysqld] для параметра wait_timeout установлено значение 60.

время_ожидания = 60

Но когда я выполняю следующее:

показывать переменные типа 'wait_timeout';

Он показывает мне, что значение равно 28800, которое, как я знаю, является значением по умолчанию.

Поэтому я попытался установить значение, выполнив следующее:

УСТАНОВИТЬ ГЛОБАЛЬНОЕ wait_timeout = 60;

Но это, кажется, не работает. MySql Workbench говорит мне "0 затронутых строк" и когда я запускаю переменные показа, такие как "wait_timeout", он все равно сообщает мне, что значение равно 28800.

Я также проверил Interactive_timeout, и история такая же. Значение 28800, и я не могу его изменить.

Что мне здесь не хватает?

MohammadReza moeini avatar
флаг us
Пожалуйста, проверьте тему: https://stackoverflow.com/questions/22425463/set-global-variables-not-working-mysql
Wilson Hauck avatar
флаг jp
Если вы хотите узнать значение wait_timeout, есть два разных значения. ПОКАЗАТЬ ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ, КАК 'wait_timeout'; и ПОКАЖИТЕ ПЕРЕМЕННЫЕ СЕССИИ, КАК 'wait_timeout'. SHOW VARIABLES LIKE 'wait_timeout' предполагает, что вам нужна переменная сеанса. wait_timeout управляет тайм-аутом бездействия для обычной обработки, Interactive_timeout управляет допустимым временем простоя (в секундах) при использовании командной строки MySQL для обработки. Когда вы хотите УСТАНОВИТЬ СЕССию wait_timeout; вам нужно немедленно выполнить запрос, который вы хотите запустить, потому что новая командная строка MySQL — это еще один сеанс.
Wilson Hauck avatar
флаг jp
Винс, рад снова видеть тебя на SF.
Рейтинг:0
флаг ua

ГЛОБАЛЬНЫЙ настройки копируются в ваш СЕССИЯ настройки когда вы подключаетесь. Используйте любой из этих синтаксисов:

УСТАНОВИТЬ @@... = ...;
УСТАНОВИТЬ СЕССИИ... = ...;

ожидание_тайм-аут относится к тому, как скоро вы будете отключены. Это то, что вы хотите?

Кроме того, существует некоторая путаница между «пакетным» и «интерактивным» тайм-аутом. Хороший вид.

флаг gl
Мне не удалось заставить его работать с "@@", но использование ключевого слова SESSION было ключевым! Спасибо.
флаг ua
@ Винсент - я делаю ошибки. Зафиксированный.
флаг gl
Извините, я изменил свой принятый ответ. Я только что просматривал это и понял, что, хотя ваш ответ направил меня на правильный путь, он не был окончательным решением, поэтому я подумал, что для будущих посетителей будет полезнее выделить правильное решение зеленой галочкой.
Рейтинг:0
флаг gl

Ответ заключается в том, чтобы установить значение без ключевого слова GLOBAL.

УСТАНОВИТЕ время ожидания = 60;

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.