Estou executando a versão Percona do MySQL Server v5.6 e a cada poucos dias o MySQL parece travar e reinicia automaticamente. Como posso descobrir qual é o motivo da falha? Já vi outras pessoas com MySQL parando inesperadamente e parece haver problemas de memória, mas em seus casos o log de erros menciona isso. No meu caso, não tenho nada aparecendo no arquivo de log até que ele seja realmente reiniciado.
Estou incluindo o arquivo de log relevante abaixo com o último erro "esperado" e o que ele está registrando quando o MySQL está reiniciando. Consiste em vários avisos de "declaração insegura gravada no log binário" antes da falha, mas não acho que sejam o motivo da falha. (Em breve atualizarei as instruções para não usar a ON DUPLICATE KEY
construção para impedi-las de impedir o preenchimento do log. Devo também mencionar que não faço replicação, por isso não acho que sejam muito importantes no momento. )
O servidor é um Centos 6.6 de 64 bits rodando em uma máquina virtual (Virtuozzo).
Espero que alguém possa me indicar a direção certa para determinar o que está causando o acidente. Obrigado!
Arquivo de log abaixo:
19/03/2018 08:39:51 21476 [Aviso] Instrução insegura gravada no log binário usando o formato de instrução desde BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE em uma tabela com mais de uma UNIQUE KEY não é segura Instrução: INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx 180319 08:39:52 mysqld_safe Número de processos em execução agora: 0 180319 08:39:52 mysqld_safe mysqld reiniciado 2018-03-19 08:39:53 0 [Aviso] TIMESTAMP com valor DEFAULT implícito está obsoleto. Por favor, use a opção de servidor --explicit_defaults_for_timestamp (consulte a documentação para mais detalhes). 2018-03-19 08:39:53 20217 [Aviso] O uso do prefixo de opção exclusivo myisam-recover em vez de myisam-recover-options está obsoleto e será removido em uma versão futura. Por favor, use o nome completo. 2018-03-19 08:39:53 20217 [Nota] O plugin 'FEDERATED' está desabilitado. 19/03/2018 08:39:53 20217 [Nota] InnoDB: Usando atômicos para ref contar páginas do buffer pool 2018-03-19 08:39:53 20217 [Nota] InnoDB: O heap de memória do InnoDB está desabilitado 19/03/2018 08:39:53 20217 [Nota] InnoDB: Mutexes e rw_locks usam componentes atômicos do GCC 19/03/2018 08:39:53 20217 [Nota] InnoDB: barreira de memória não é usada 19/03/2018 08:39:53 20217 [Nota] InnoDB: tabelas compactadas usam zlib 1.2.3 19/03/2018 08:39:53 20217 [Nota] InnoDB: Usando AIO nativo do Linux 2018-03-19 08:39:53 20217 [Nota] InnoDB: Usando instruções CPU crc32 19/03/2018 08:39:53 20217 [Nota] InnoDB: Inicializando buffer pool, tamanho = 3,0G 19/03/2018 08:39:54 20217 [Nota] InnoDB: Inicialização concluída do buffer pool 19/03/2018 08:39:54 20217 [Nota] InnoDB: O formato de arquivo mais alto suportado é Barracuda. 19/03/2018 08:39:54 20217 [Nota] InnoDB: A verificação de log progrediu além do ponto de verificação lsn 123717382274 19/03/2018 08:39:54 20217 [Nota] InnoDB: O banco de dados não foi desligado normalmente! 19/03/2018 08:39:54 20217 [Nota] InnoDB: Iniciando recuperação de falha. 19/03/2018 08:39:54 20217 [Nota] InnoDB: Lendo informações de espaço de tabela dos arquivos .ibd ... 2018-03-19 08:39:54 20217 [Nota] InnoDB: Restaurando possíveis páginas de dados escritas pela metade 19/03/2018 08:39:54 20217 [Nota] InnoDB: do buffer de gravação dupla ... InnoDB: Fazendo recuperação: verificado até registrar o número de sequência 123717811056 InnoDB: A transação 790235434 estava no estado preparado para XA. InnoDB: 1 transação(ões) que devem ser revertidas ou limpas InnoDB: no total 0 operações de linha para desfazer InnoDB: O contador de ID Trx é 790235904 19/03/2018 08:39:55 20217 [Nota] InnoDB: Iniciando um lote de aplicação de registros de log no banco de dados ... InnoDB: Progresso em porcentagem: 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 7 InnoDB: Lote de aplicação concluído InnoDB: Última posição do arquivo binlog do MySQL 0 697177863, nome do arquivo mysql-bin.000227 InnoDB: Iniciando em segundo plano a reversão de transações não confirmadas 19/03/2018 08:39:56 20217 [Nota] InnoDB: 128 segmento(s) de reversão estão ativos. 19/03/2018 08:39:56 7f481bd03700 InnoDB: Reversão de transações não preparadas concluída 19/03/2018 08:39:56 20217 [Nota] InnoDB: Aguardando o início da limpeza 19/03/2018 08:39:56 20217 [Nota] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.22-71.0 iniciado; número de sequência de registro 123717811056 2018-03-19 08:39:56 20217 [Nota] Recuperando após uma falha usando /var/lib/mysql/mysql-bin 2018-03-19 08:46:36 20217 [Nota] Iniciando recuperação de falhas... 19/03/2018 08:46:36 7f491ce677e0 InnoDB: Iniciando recuperação para transações XA... 19/03/2018 08:46:36 7f491ce677e0 InnoDB: Transação 790235434 em estado preparado após recuperação 19/03/2018 08:46:36 7f491ce677e0 InnoDB: A transação contém alterações em 1 linha 19/03/2018 08:46:36 7f491ce677e0 InnoDB: 1 transação em estado preparado após recuperação 19/03/2018 08:46:36 20217 [Nota] Encontradas 1 transação(ões) preparada(s) no InnoDB 2018-03-19 08:46:36 20217 [Nota] Recuperação de falha concluída. 2018-03-19 08:46:36 20217 [Nota] Arquivo de chave privada RSA não encontrado: /var/lib/mysql//private_key.pem. Alguns plugins de autenticação não funcionarão. 2018-03-19 08:46:36 20217 [Nota] Arquivo de chave pública RSA não encontrado: /var/lib/mysql//public_key.pem. Alguns plugins de autenticação não funcionarão. 19/03/2018 08:46:36 20217 [Nota] Nome do host do servidor (endereço de ligação): '*'; porta: 3306 2018-03-19 08:46:36 20217 [Nota] IPv6 está disponível. 19/03/2018 08:46:36 20217 [Nota] - '::' resolve para '::'; 2018-03-19 08:46:36 20217 [Nota] Soquete do servidor criado no IP: '::'. 19/03/2018 08:46:37 20217 [Nota] Agendador de eventos: 0 eventos carregados 2018-03-19 08:46:37 20217 [Nota] /usr/sbin/mysqld: pronto para conexões. Versão: '5.6.22-71.0-log' soquete: '/var/lib/mysql/mysql.sock' porta: 3306 Percona Server (GPL), versão 71.0, revisão 726 2018-03-19 08:46:38 20217 [Aviso] Instrução insegura gravada no log binário usando o formato de instrução desde BINLOG_FORMAT = STATEMENT. INSERT... ON DUPLICATE KEY UPDATE em uma tabela com mais de uma UNIQUE KEY não é segura Instrução: INSERT INTO xxxx ON DUPLICATE KEY UPDATE xxxx
Editar: De acordo com a pergunta do @impimp nos comentários, aqui está o conteúdo de/var/log/messages
18 de março 04:02:22 HOSTNAME rsyslogd: [origin software = "rsyslogd" swVersion = "5.8.10" x-pid = "474" x-info = "http://www.rsyslog.com"] rsyslogd foi HUPed 19 de março 08:39:52 Kernel HOSTNAME: [103311785.405884] Sem memória no UB 650543: OOM processo eliminado 21476 (mysqld) pontuação 0 vm: 6363484kB, rss: 4024500kB, swap: 45536kB 20 de março 09:17:35 Kernel HOSTNAME: [103400050.711461] Sem memória no UB 650543: OOM processo eliminado 20217 (mysqld) pontuação 0 vm: 6382720kB, rss: 4066652kB, swap: 0kB