Ответы:
interactive_timeдля интерактивных сессий, тогда wait_timeoutкак для неинтерактивных сессий.
Что такое интерактивная сессия? Это один с человеком за клавиатурой.
Когда ваш код подключается к MySQL, запускает запрос и затем тратит 3 секунды на обработку этого запроса, прежде чем отключиться, это 3 секунды wait_timeout.
Когда вы используете mysqlклиент командной строки для подключения, запустите команду и потратите 10 секунд на чтение вывода, это 10 секунд interactive_timeout. Если вы уйдете и пообедаете, это 3600 секунд interactive_timeout.
В обоих случаях, когда вы или ваш код запускаете другой запрос, время ожидания сбрасывается до 0.
Вы можете увидеть значения для всех текущих сессий, набрав show processlist. Значения в sleep(5)функции - это количество секунд, прошедшее с того момента, когда это соединение в последний раз что-то делало.