Czy to key_buffer czy key_buffer_size?

9

Przeszukuję internet w poszukiwaniu poprawnej zmiennej w my.cnfpliku. Niektórzy mówili, że key_buffer_sizejest przestarzałe, ale niektórzy mówili, że key_buffer_sizejest poprawna zmienną my.cnf.

Więc jaka jest tutaj prawdziwa poprawna zmienna? Czy to key_bufferczy key_buffer_size?

Używam Ubuntu 12.04.

A także mam dwie key_bufferzmienne w my.cnfpliku. To właśnie dostałem po zainstalowaniu MySQL.

Pierwszy znajduje się pod tym:

[mysqld]
key_buffer              = 16M

Drugi znajduje się pod tym:

[isamchk]
key_buffer              = 16M
jaYPabs
źródło

Odpowiedzi:

11

Nie sądzę, że key_buffer_sizejest przestarzałe, mysql używa key_buffer_sizew dokumentacji na swojej stronie internetowej od najwcześniejszej dostępnej wersji do najnowszej wersji . Istnieje również raport o błędzie, w którym żądania przestarzałych zmiennych emitują ostrzeżenia podczas uruchamiania, co sugeruje, key_bufferże jest przestarzałe.

Osobiście bym poszedł z dokumentacją, ponieważ powinna ona być autorytatywna, a chociaż Internet jest pełen przydatnych informacji, jest także pełen dezinformacji.


Powiedziawszy, że wygląda na to, że mysql robi wszystko, by dopasować nazwy zmiennych, które podajesz, do zmiennych i zrobi to tak długo, jak długo podasz nazwę, która jest unikalna

Z key_buffer_size = 16m

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

Zmień na key_buffer = 6m

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

Zmień na key_b = 16m

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

Zmień na key_ = 16m i mysql nie uruchamia się, ponieważ key_ nie jest unikalny.

użytkownik9517
źródło
Dziękuję Ci. Zastanawiam się tylko, ponieważ po zainstalowaniu MySQL zmienna nie jest wielkością key_buffer_size, a jedynie key_buffer.
jaYPabs
@ user176890: Tak, też to zauważyłem. Jeśli jesteś naprawdę ciekawy, powinieneś zapytać Canonical, kto utrzymuje i aktualizuje Ubuntu.
user9517,
Kluczową wskazówką tutaj - do której Lain mnie pobił - było korzystanie z tego, SHOW VARIABLE LIKE '%key_buffer%';że cały czas jestem zdezorientowany konwencjami nazewnictwa MySQL i SHOW VARIABLESjest to ratowanie życia.
JakeGould
1
Pokonał cię do 6 miesięcy @JakeGould
user9517
@Iain Holy cr @ p! Stary post znów mnie ukłuł.
JakeGould