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

122

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

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

Брайан Джи
источник

Ответы:

222

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

SHOW VARIABLES;  

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

SHOW VARIABLES LIKE '%max%';  
code_burgar
источник
72

Использование SHOW VARIABLES:

показывать такие переменные, как 'версия';

Сет
источник
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)
Стефан
источник