mysql polecenie do wyświetlania aktualnych zmiennych konfiguracyjnych

122

Nie można znaleźć polecenia wyświetlającego bieżącą konfigurację mysql z poziomu bazy danych.

Wiem, że mógłbym spojrzeć na /etc/mysql/my.cnf, ale to nie jest to, czego potrzebuję.

Brian G.
źródło

Odpowiedzi:

222

To, czego szukasz, to:

SHOW VARIABLES;  

Możesz go dalej modyfikować jak każde zapytanie:

SHOW VARIABLES LIKE '%max%';  
code_burgar
źródło
72

Zastosowanie SHOW VARIABLES:

pokaż zmienne, takie jak „wersja”;

Seth
źródło
14
Jezu ... 4 sekundy później i żadnych pozytywnych głosów? Masz nawet link do dokumentów!
Izkata
Tak, to truizm, że najwyżej oceniany przedmiot nie jest najlepszy, to tylko pierwszy
Dave Hilditch
Może powinienem był użyć więcej backticks:)
Seth
jak „% wersja%” byłoby najbardziej dokładne. ale rekwizyty za link!
ingernet
2

Alternatywnie możesz również wysłać zapytanie do information_schemabazy danych i pobrać dane z global_variables(i global_statusoczywiście również). Takie podejście zapewnia te same informacje, ale daje możliwość zrobienia więcej z wynikami, ponieważ jest to zwykłe, stare zapytanie.

Na przykład możesz przekonwertować jednostki, aby były bardziej czytelne. Poniższe zapytanie zawiera bieżące ustawienie globalne innodb_log_buffer_sizew bajtach i megabajtach:

SELECT
  variable_name,
  variable_value AS innodb_log_buffer_size_bytes,
  ROUND(variable_value / (1024*1024)) AS innodb_log_buffer_size_mb
FROM information_schema.global_variables
WHERE variable_name LIKE  'innodb_log_buffer_size';

W rezultacie otrzymujesz:

+------------------------+------------------------------+---------------------------+
| variable_name          | innodb_log_buffer_size_bytes | innodb_log_buffer_size_mb |
+------------------------+------------------------------+---------------------------+
| INNODB_LOG_BUFFER_SIZE | 268435456                    |                       256 |
+------------------------+------------------------------+---------------------------+
1 row in set (0,00 sec)
Stefan
źródło