команда mysql для отображения текущих переменных конфигурации


122

Не удается найти команду, отображающую текущую конфигурацию mysql из базы данных.

Я знаю, что могу посмотреть /etc/mysql/my.cnf, но это не то, что мне нужно.

Ответы:


222

Вы ищете вот что:

SHOW VARIABLES;  

Вы можете изменить его, как любой запрос:

SHOW VARIABLES LIKE '%max%';  

72

14
Боже ... 4 секунды спустя, а голосов нет ? У вас даже есть ссылка на документы!
Izkata

Да, это
Дэйв Хилдич

Может мне стоило использовать больше backticks:)
Сет

например, "% версия%" было бы наиболее точным. но реквизит по ссылке!
ingernet

2

В качестве альтернативы вы также можете запросить information_schemaбазу данных и получить данные из global_variables(и, global_statusконечно, тоже). Этот подход предоставляет ту же информацию, но дает вам возможность сделать больше с результатами, поскольку это простой старый запрос.

Например, вы можете преобразовать единицы, чтобы они стали более удобочитаемыми. Следующий запрос предоставляет текущие глобальные настройки для innodb_log_buffer_sizeбайтов и мегабайт:

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';

В результате вы получите:

+------------------------+------------------------------+---------------------------+
| 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)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.