Це key_buffer або key_buffer_size?


9

Я шукаю в Інтернеті щодо правильної змінної у my.cnfфайлі. Деякі сказали, що key_buffer_sizeце застаріло, але деякі сказали, що key_buffer_sizeце правильна змінна в my.cnf.

Отже, яка тут справді правильна змінна? Це key_bufferчи key_buffer_size?

Я використовую Ubuntu 12.04.

А також у мене є дві key_bufferзмінні у my.cnfфайлі. Це те, що я отримав після встановлення MySQL.

Перший знаходиться під цим:

[mysqld]
key_buffer              = 16M

Інший знаходиться під цим:

[isamchk]
key_buffer              = 16M

Відповіді:


11

Я не думаю key_buffer_size, що застаріле використання mysql key_buffer_sizeв документації на їхньому веб-сайті від найдавнішої доступної аж до останньої версії . Існує також звіт про помилку, який запитує застарілі змінні, при запуску надсилають попередження, що дозволяє припустити, key_bufferщо це застаріле.

Я особисто хотів би з документацією, як це має бути авторитетним, і в той час як Інтернет наповнений корисною інформацією, він також сповнений дезінформації.


Сказавши, що здається, що mysql виходить із способу зіставити імена змінних, які ви надаєте цим змінним, і буде робити це до тих пір, поки ім'я, яке ви надаєте, є унікальним

З key_buffer_size = 16м

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

Змінити на key_buffer = 6м

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

Перехід до key_b = 16м

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

Змінити на key_ = 16m, і mysql не запуститься, оскільки key_ не є унікальним.


Дякую. Мені просто цікаво, оскільки після встановлення MySQL змінна не має key_buffer_size, натомість вона є лише key_buffer.
jaYPabs

@ user176890: Так, і я це помітив. Якщо ви справді цікаві, вам слід запитати Canonical, хто підтримує та оновлює Ubuntu.
користувач9517

Основна порада тут - до якої мене обіграв Лейн - полягала в тому, що SHOW VARIABLE LIKE '%key_buffer%';я весь час плутаюсь щодо конвенцій про іменування MySQL і SHOW VARIABLESє рятівником життя.
JakeGould

1
Бити вас до 6 місяців @JakeGould
user9517

@Iain Holy cr @ p! Старий пост знову вжалив мене.
ДжейкГулд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.