Spec-Zone .ru
спецификации, руководства, описания, API
|
KILL [CONNECTION | QUERY] thread_id
Каждое соединение с mysqld работает в отдельном потоке. Можно видеть, какие потоки
работают с SHOW PROCESSLIST
оператор и уничтожает поток с KILL
оператор. thread_id
KILL
разрешает дополнительное CONNECTION
или QUERY
модификатор:
KILL CONNECTION
то же самое как KILL
без модификатора: Это завершает соединение, связанное с данным thread_id
.
KILL QUERY
завершает оператор, который соединение в настоящий момент
выполняет, но листы соединение, непосредственно неповрежденное.
Если Вы имеете PROCESS
полномочие, можно видеть все потоки. Если Вы имеете SUPER
полномочие, можно уничтожить все потоки и операторы. Иначе, можно
видеть и уничтожить только свои собственные потоки и операторы.
Можно также использовать mysqladmin processlist, и mysqladmin уничтожают команды, чтобы исследовать и уничтожить потоки.
Невозможно использовать KILL
с
библиотекой Сервера MySQL Embedded, потому что встроенный сервер просто работает в потоках хост-приложения.
Это не создает собственных потоков соединения.
Когда Вы используете KILL
, специфичный для потока флаг уничтожения устанавливается для потока. В
большинстве случаев это могло бы занять время для потока, чтобы умереть, потому что флаг уничтожения проверяется
только в определенных интервалах:
В SELECT
, ORDER BY
и GROUP
BY
циклы, флаг проверяется после чтения блока строк. Если флаг уничтожения устанавливается,
оператор прерывается.
Во время ALTER
TABLE
, флаг уничтожения проверяется перед каждым блоком строк читаются из исходной таблицы.
Если флаг уничтожения был установлен, оператор прерывается, и временная таблица удаляется.
Во время UPDATE
или DELETE
операции, флаг уничтожения проверяется после каждого блочного чтения и после каждой обновленной или
удаленной строки. Если флаг уничтожения устанавливается, оператор прерывается. Отметьте, что, если Вы не
используете транзакции, изменения не откатываются.
GET_LOCK()
аварийные прекращения работы и возвраты NULL
.
Если поток находится в обработчике блокировки таблицы (состояние: Locked
), блокировка таблицы быстро прерывается.
Если поток ожидает свободного дискового пространства в вызове записи, запись прерывается с "диском полное" сообщение об ошибке.
Уничтожение a REPAIR
TABLE
или OPTIMIZE
TABLE
работа на a MyISAM
таблица приводит к таблице,
которая повреждается и неприменима. Любые чтения или записи к такому табличному сбою, пока Вы не
оптимизируете или восстанавливаете это снова (без прерывания).