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

Вид: 17789|Ответ: 0

[Источник] Тайм-аут ожидания блокировки превышен; Попробуйте перезапустить транзакцию

[Скопировать ссылку]
Опубликовано 13.03.2019 13:08:36 | | | |
Тайм-аут ожидания блокировки превышен; Транзакция попытки перезапуска — это время ожидания блокировки. Это происходит из-за того, что текущая транзакция ожидает освобождения ресурса блокировки других транзакций.



Обходной путь:

Выполните следующую команду в запросе mysql

На самом деле, мы можем использовать следующие три таблицы, чтобы узнать причины:

innodb_trx ## Все транзакции, которые сейчас выполняются
innodb_locks ## Текущий замок
innodb_lock_waits ## Соответствие ожидания замка

Результаты следующие:



Узнайте номер потока mysql_thread_id с несколькими другими темами с разными параметрами

Выполните команду kill + номер потока, чтобы решить проблему.

desc information_schema.innodb_locks;

Поле
Тип
Null
КлючПо умолчаниюПримечание
lock_id
Варчар (81)
НЕТ
Идентификатор замка
lock_trx_id
Варчар (18)
НЕТ
ID транзакции, который владеет замком
lock_mode
Варчар (32)
НЕТ
Режим замка
lock_type
Варчар (32)
НЕТ
Тип замка
lock_table
Варчар (1024)
НЕТ
Запертый стол
lock_index
Варчар (1024)
ДА
NULLЗаблокированные индексы
lock_space
bigint(21) без подписи
ДА
NULLНомер заблокированного табличного пространства
lock_page
bigint(21) без подписи
ДА
NULLНомер заблокированной страницы
lock_rec
bigint(21) без подписи
ДА
NULLРекордное количество запертых
lock_data
Варчар (8192)
ДА
NULLЗаблокированные данные


desc information_schema.innodb_lock_waits

Поле
Тип
Null
КлючПо умолчаниюПримечание
requesting_trx_id
Варчар (18)
НЕТ
Идентификатор транзакции блокировки запроса
requested_lock_id
Варчар (81)
НЕТ
ID замка запроса
blocking_trx_id
Варчар (18)
НЕТ
ID транзакции, который сейчас владеет замком
blocking_lock_id
Варчар (81)
НЕТ
ID замка того замка, который сейчас принадлежит замку


desc information_schema.innodb_trx ;

Поле
Тип
Null
КлючПо умолчаниюЭкстраПримечание
trx_id
Варчар (18)
НЕТ
Идентификатор транзакции
trx_state
Варшар (13)
НЕТ
Статус сделки:
trx_started
ДатаВремя
НЕТ
0000-00-00 00:00:00время начала транзакции;
trx_requested_lock_id
Варчар (81)
ДА
NULLinnodb_locks.lock_id
trx_wait_started
ДатаВремя
ДА
NULLВремя, когда начинается ожидание сделки
trx_weight
bigint(21) без подписи
НЕТ
0#
trx_mysql_thread_id
bigint(21) без подписи
НЕТ
0ID потока транзакций
trx_query
Варчар (1024)
ДА
NULLКонкретные SQL-операторы
trx_operation_state
Варшар (64)
ДА
NULLТекущий операционный статус сделки
trx_tables_in_use
bigint(21) без подписи
НЕТ
0Сколько таблиц используется в транзакции
trx_tables_locked
bigint(21) без подписи
НЕТ
0Сколько блокировок у транзакции
trx_lock_structs
bigint(21) без подписи
НЕТ
0#
trx_lock_memory_bytes
bigint(21) без подписи
НЕТ
0Размер памяти, заблокированной транзакцией (B)
trx_rows_locked
bigint(21) без подписи
НЕТ
0Количество строк, заблокированных транзакцией
trx_rows_modified
bigint(21) без подписи
НЕТ
0Количество строк, для которых была изменена транзакция
trx_concurrency_tickets
bigint(21) без подписи
НЕТ
0Количество транзакций и счетов
trx_isolation_level
Варчар (16)
НЕТ
Уровень изоляции транзакций
trx_unique_checks
int(1)
НЕТ
0Независимо от того, является ли это уникальным чеком
trx_foreign_key_checks
int(1)
НЕТ
0Проверки внешних ключей
trx_last_foreign_key_error
Варчар (256)
ДА
NULLОшибка внешнего ключа в конце
trx_adaptive_hash_latched
int(1)
НЕТ
0#
trx_adaptive_hash_timeout
bigint(21) без подписи
НЕТ
0#




Предыдущий:Удаление данных MySQL не выполняет очень медленную оптимизацию
Следующий:Видеоматериалы за октябрь 2018 года в javaEE
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com