web-dev-qa-db-fra.com

commande mysql pour afficher les variables de configuration actuelles

Impossible de trouver une commande qui affiche la configuration actuelle de mysql depuis la base de données.

Je sais que je pourrais regarder /etc/mysql/my.cnf mais ce n’est pas ce dont j’ai besoin.

106
Brian G

Ce que vous recherchez est ceci:

SHOW VARIABLES;  

Vous pouvez le modifier ultérieurement comme n'importe quelle requête:

SHOW VARIABLES LIKE '%max%';  
189
code_burgar

Utilisez SHOW VARIABLES

affiche des variables comme 'version';

62
Seth

En guise d'alternative, vous pouvez également interroger la base de données information_schema et extraire les données du global_variables (et du global_status également). Cette approche fournit les mêmes informations, mais vous donne la possibilité d’en faire plus avec les résultats, car il s’agit d’une ancienne requête.

Par exemple, vous pouvez convertir des unités pour qu'elles soient plus lisibles. La requête suivante fournit le paramètre global actuel pour le innodb_log_buffer_size en octets et en mégaoctets:

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

En conséquence, vous obtenez:

+------------------------+------------------------------+---------------------------+
| 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)
0
Stefan