¿Es key_buffer o key_buffer_size?


9

Busco en Internet con respecto a la variable correcta en el my.cnfarchivo. Algunos dijeron que key_buffer_sizeestá en desuso, pero otros dijeron que esa key_buffer_sizees la variable correcta en my.cnf.

Entonces, ¿cuál es realmente la variable correcta aquí? Es key_buffero key_buffer_size?

Estoy usando Ubuntu 12.04.

Y también tengo las dos key_buffervariables en el my.cnfarchivo. Esto es lo que obtuve después de instalar MySQL.

El primero se encuentra debajo de esto:

[mysqld]
key_buffer              = 16M

El otro se encuentra debajo de esto:

[isamchk]
key_buffer              = 16M

Respuestas:


11

No creo que key_buffer_sizeesté en desuso, el uso de mysql key_buffer_sizeen la documentación de su sitio web desde la primera versión disponible hasta la última versión . También hay un informe de error que solicita que las variables en desuso emitan advertencias al inicio, lo que sugiere key_bufferque es en desuso.

Yo personalmente iría con la documentación, ya que debería ser autorizada y, aunque Internet está lleno de información útil, también está llena de información errónea.


Habiendo dicho eso, parece que mysql se sale de su manera de hacer coincidir los nombres de variables que proporcionas con sus variables y lo hará siempre que el nombre que proporciones sea único

Con key_buffer_size = 16m

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

Cambiar a key_buffer = 6m

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

Cambiar a key_b = 16m

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

Cambie a key_ = 16m y mysql no se inicia ya que key_ no es único.


Gracias. Me pregunto porque después de instalar MySQL, la variable no es key_buffer_size, sino que solo es key_buffer.
jaYPabs

@ user176890: Sí, también lo noté. Si realmente tiene curiosidad, debe preguntarle a Canonical quién mantiene y actualiza Ubuntu.
user9517

El consejo clave aquí, que Lain me ganó, fue usar SHOW VARIABLE LIKE '%key_buffer%';Me confundo sobre las convenciones de nomenclatura de MySQL todo el tiempo y SHOW VARIABLESes un salvavidas.
JakeGould

1
Ganarte por 6 meses @JakeGould
usuario9517

@Iain Holy cr @ p! El viejo post me volvió a picar.
JakeGould
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.