Это 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
jaYPabs
источник

Ответы:

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_ не уникален.

user9517
источник
Спасибо. Мне просто интересно, потому что после установки MySQL, переменная не key_buffer_size, а только key_buffer.
jaYPabs
@ user176890: Да, я тоже это заметил. Если вам действительно интересно, спросите Canonical, кто поддерживает и обновляет Ubuntu.
user9517
Ключевой совет, который побил меня Лейн, заключался в том, что SHOW VARIABLE LIKE '%key_buffer%';я все время путаюсь с соглашениями об именах MySQL и спасаю SHOW VARIABLESжизнь.
JakeGould
1
Превзойди тебя на 6 месяцев @JakeGould
user9517
@ Иан Святой, кр @ р! Старый пост снова задел меня.
JakeGould