Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL:InnoDb:A espera do semáforo durou> 600 segundos. Nós intencionalmente travamos o servidor


A partir do seu relatório UPTIME de 1022 segundos GLOBAL STATUS, pesquise e considere estes my.cnf/ini add/change/disable com # ou REMOVE à esquerda para evitar confusão. Normalmente é feita apenas 1 alteração por dia e monitor. No seu caso, com travamentos de 18 minutos, vamos fazer tudo em um desligamento/reinicialização.
thread_cache_size=100 # from default because 83 threads created already, V8 CAP is 100 to avoid OOM
innodb_buffer_pool_size=6G # from default of 128M, was full in 17 minutes
table_open_cache=10000 # 1066 already opened in 17 minutes.

Precisa desesperadamente do seu SHOW GLOBAL VARIABLES; e MOSTRAR STATUS INNODB DO MOTOR; e preencha my.cnf/ini para evitar SUPOSTAS para sugestões adicionais. dropbox.com ou pastebin.com são locais razoáveis ​​para compartilhar dados se você estiver atingindo os limites de armazenamento aqui.

Procure por '[MySQL] Semaphore wait has last' para encontrar soluções anteriores em stackoverflow.com dba.stackexchange.com ou serverfault.com (nossos pw são compartilhados por esses 3 sites, então você não precisa de 3 contas).

A reversão estava lidando com 17.856.929 linhas. Em uma única transação, essa é uma carga que precisa de análise para dividi-la em contagens de linhas mais gerenciáveis ​​para uma única transação.

atualização 2017-11-18 sobre 09 UTC na seção my.cnf/ini [mysqld] que você PRECISA
innodb_log_buffer_size=48M # from 256M
innodb_log_file_size=256M # from default of 48M

Hoje, eles estão invertidos e são uma parte significativa da causa de suas reinicializações de 17 minutos. Desligamento/reinicialização necessário nenhum valor pode ser alterado dinamicamente.