Estou com dificuldades para definir o tamanho do buffer pool e o tamanho do arquivo de log do MySql InnoDB. Estou longe de ser um especialista em MySql, mas tenho lido e parece que, para mudar isso, apenas adiciono estas linhas ao meu /etc/mysql/my.cnf
# Set buffer pool size to 50-80% of your computer's memory
innodb_buffer_pool_size=2048M
innodb_additional_mem_pool_size=512M
#
# Set the log file size to about 25% of the buffer pool size
innodb_log_file_size=256M
innodb_log_buffer_size=128M
O servidor tem cerca de 7 GB de memória e também está executando um servidor Web, então acho que esses números devem ser um bom ponto de partida. Após salvar e reiniciar o servidor, no entanto, não parece que as alterações tenham entrado em vigor. Tentei executar o Mysqltuner, que relatou que o buffer pool ainda está em 16.0M. Alguma idéia do que estou fazendo de errado? Deixe-me saber se você gostaria de ver mais do arquivo de configuração. Obrigado!
Respostas:
Verifique se essas linhas estão dentro da
[mysqld]
seção, ou seja, depois,[mysqld]
mas antes de qualquer outra[section]
, como[mysqldump]
.fonte
Verifique o log de erros do MySQL para obter informações - provavelmente localizadas em
/var/lib/mysql
- também, este é um sistema de 32 bits com o kernel bigmem? Nesse caso, você não pode endereçar mais de 2 GB para o MySQL.Além disso - você deseja confirmar no próprio MySQL sobre o tamanho do buffer pool - 16 MB soa um pouco, considerando que o padrão é 128M. Você pode confirmar isso digitando 'SHOW VARIABLES LIKE' innodb_buffer_pool_size 'em uma sessão do MySQL para esse servidor. O resultado está em bytes.
fonte
sudo cd
não funcionará porque o sudo cria um subshell com os privilégios corretos e fecha quando termina, deixando você onde você começou. Tente emsudo -s
vez disso.No meu caso, o problema era
innodb_buffer_pool_instances
.Desde que eu estava reduzindo
innodb_buffer_pool_size
, tornou-se menos de 1 GB por instância, e acabou arredondando-o.Quando eu também reduzi as instâncias , ele finalmente mudou o tamanho da piscina !
fonte
Pode ser que você inicie o mysql com --no-defaults ou (-no-defaults), o que faz com que ele não carregue uma configuração. Há também --defaults-file (ou -default-file, não tenho certeza), o que faz com que ele carregue uma configuração específica. Verifique também se é para uma configuração diferente daquela que você edita.
Você pode tentar começar com:
Ou verifique os parâmetros com os quais você está começando e veja se um deles faz com que ele omita a configuração.
fonte