É key_buffer ou key_buffer_size?

9

Eu pesquiso na internet sobre a variável correta no my.cnfarquivo. Alguns disseram que key_buffer_sizeestá obsoleto, mas outros disseram que essa key_buffer_sizeé a variável correta my.cnf.

Então, qual é realmente a variável correta aqui? É key_bufferou key_buffer_size?

Estou usando o Ubuntu 12.04.

E também tenho as duas key_buffervariáveis ​​no my.cnfarquivo. Isto é o que recebi após instalar o MySQL.

O primeiro está localizado abaixo:

[mysqld]
key_buffer              = 16M

O outro está localizado abaixo:

[isamchk]
key_buffer              = 16M
jaYPabs
fonte

Respostas:

11

Eu acho que não key_buffer_sizefoi preterido, o uso do mysql key_buffer_sizena documentação do site deles é o mais antigo disponível até a versão mais recente . Há também um relatório de erro que solicita variáveis ​​obsoletas emitem avisos na inicialização, o que sugere key_bufferque foi reprovado.

Pessoalmente, eu iria com a documentação, pois ela deve ter autoridade e, embora a Internet esteja cheia de informações úteis, também está cheia de informações erradas.


Dito isto, parece que o mysql faz o possível para corresponder os nomes de variáveis ​​que você fornece às variáveis ​​e fará isso desde que o nome que você forneça seja exclusivo

Com key_buffer_size = 16m

mysql> show variables like '%key_buffer%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| key_buffer_size | 16777216 |
+-----------------+----------+
1 row in set (0.00 sec)

Mude para key_buffer = 6m

mysql> show variables like '%key_buffer%';
+-----------------+---------+
| Variable_name   | Value   |
+-----------------+---------+
| key_buffer_size | 6291456 |
+-----------------+---------+
1 row in set (0.00 sec)

Mude para key_b = 16m

mysql> show variables like '%key_buffer%';
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| key_buffer_size | 16777216 |
+-----------------+----------+
1 row in set (0.00 sec)

Mude para key_ = 16m e o mysql falha ao iniciar, pois key_ não é exclusivo.

user9517
fonte
Obrigado. Só estou pensando porque, depois de instalar o MySQL, a variável não é key_buffer_size, mas apenas key_buffer.
jaYPabs
@ user176890: Sim, notei isso também. Se você estiver realmente curioso, pergunte à Canonical quem mantém e atualiza o Ubuntu.
user9517
A dica principal aqui - que Lain me derrotou - era usar SHOW VARIABLE LIKE '%key_buffer%';: fico confuso sobre as convenções de nomenclatura do MySQL o tempo todo e SHOW VARIABLESé um salva-vidas.
JakeGould
1
@JakeGould
user9517
@Iain Holy cr @ p! Post antigo me machucou novamente.
JakeGould