Estou recebendo um problema após cada 2-3 minutos
mysql> show tables;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 57
Eu realmente não consigo descobrir por que isso está acontecendo. Eu vi meu log de erros que diz
120419 0:36:03 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Last MySQL binlog file position 0 93884, file name /EBSmnt/mysql/mysql-bin.000233
120419 0:36:04 InnoDB: Started; log sequence number 1692 2597076235
120419 0:36:04 [Note] Event Scheduler: Loaded 0 events
120419 0:36:04 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.43-enterprise-gpl-advanced-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Enterprise Server - Advanced Edition (G
Alguém pode, por favor, dizer como lidar com o cenário. Ele está em um dos servidores de produção.
EDITAR
RAM é de 7GB.
E a configuração do InnoDB em my.cnf são
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 3G
innodb_data_home_dir = /lvm/mysql
innodb_data_file_path = ibdata1:80G:autoextend
innodb_log_buffer_size = 8M
innodb_log_file_size = 1300M
innodb_log_files_in_group = 3
Suspeito do seu max_allowed_packet e da presença de um grande campo TEXT/BLOB.
Eu respondi duas perguntas no passado que envolviam o travamento do mysql porque o max_allowed_packet era muito pequeno.
Eu recomendo aumentar seu max_allowed_packet para o valor máximo, que é 1 GB
Se você tiver campos TEXT/BLOB, pode ter inserido um campo TEXT/BLOB que é muito grande para passar por um pacote MySQL ou pelos arquivos de log do InnoDB. Você pode precisar redimensionar seus arquivos de log innodb para o valor máximo, que é 2047M. Aqui está o que fazer:
PASSO 01) Adicione isto em /etc/my.cnf
NOTA: No Google Cloud, você não pode inserir 1G, deve usar o valor 1073741824
PASSO 02)
service mysql stop
PASSO 03)
rm -f /var/lib/mysql/ib_logfile[01]
PASSO 04)
service mysql start
No log de erros do MySQL mostrado na pergunta, você não tem nenhum problema com o servidor MySQL.
Mensagem de erro no prompt do cliente MySQL:
...é devido a duas variáveis de tempo limite de conexão, ou seja
wait_timeout
,interactive_timeout
.Se sua conexão estiver inativa por mais de
interactive_timeout
segundos, sua conexão será desconectada automaticamente.