max_connections last_insert_id
151
0
Par contre, si l'on précise le mauvais niveau, on obtient une erreur.
Code : SQL
SELECT @@SESSION.max_connections;
SELECT @@GLOBAL.last_insert_id;
Code : Console
ERROR 1238 (HY000): Variable 'max_connections' is a GLOBAL variable
ERROR 1238 (HY000): Variable 'last_insert_id' is a SESSION variable
Modification des variables système avec SET
Comme pour les variables utilisateur et les variables locales, il est possible de modifier la valeur des variables système en
utilisant la commande SET.
Cependant, toutes ne permettent pas ce genre de modification. La liste des variables système qui l'autorisent, appelées variables
système dynamiques, se trouve dans la documentation officielle.
Pour modifier une variable au niveau global, il est nécessaire d'avoir le privilège global SUPER. À moins que vous n'ayez accordé
ce privilège à l'un de vos utilisateurs, seul l'utilisateur "root" en est donc capable.
Deux syntaxes sont possibles avec SET :
Code : SQL
SET niveau nom_variable = valeur;
-- OU
SET @@niveau.nom_variable = valeur;
Exemples
Code : SQL
SET SESSION max_tmp_tables = 5;
-- Nombre maximal de tables
temporaires
SET @@GLOBAL.storage_engine = InnoDB;
-- Moteur de stockage par
défaut
On peut aussi omettre le niveau, auquel cas c'est la variable système au niveau de la session qui sera modifiée. Si elle n'existe
qu'au niveau global, une erreur sera déclenchée.
Exemples
Code : SQL
SET max_tmp_tables = 12;
SET @@max_tmp_tables = 8;
Partie 7 : Gestion des utilisateurs et configuration du serveur
406/414
www.openclassrooms.com
Précédent

- 406/413

Suivant