A partir de la version 4.0.3, nous fournissons un meilleur accès à beaucoup de variables système et variables de connexion. On peut changer la plupart d'entre elle sans avoir à stopper le serveur.
      Le serveur mysqld dispose de deux types de
      variables. Les variables globales, qui affectent l'ensemble du
      serveur. Les variables de session qui affectent des connexions
      individuelles.
    
      Lorsque mysqld démarre, toutes les variables
      globales sont initialisées à partir des arguments passés en
      ligne de commande et des fichiers de configuration. Vous pouvez
      changer ces valeurs avec la commande SET
      GLOBAL. Lorsqu'un nouveau thread est créé, les
      variables spécifiques aux threads sont initialisées à partir
      des variables globales et ne changeront pas même si vous utilisez
      la commande SET GLOBAL.
    
      Le serveur entretient aussi un jeu de variables de session pour
      chaque client qui se connecte. Les variables de session d'un
      client sont initialisées au moment de la connexion, en utilisant
      les valeurs correspondantes globales. Pour les variables de
      session qui sont dynamiques, le client peut les changer avec la
      commande SET SESSION var_name. Modifier les
      variables de session d'une connexion ne requiert aucun droit
      spécifique, mais le client ne peut changer que ses propres
      variables de session, et non pas celle d'un autre client.
    
      Une modification à une variable globale est visible à tous les
      clients qui accèdent à cette variable. Mais, cela n'affecte la
      variable de session correspondante que lors de la prochaine
      connexion. Les connexions déjà établies ne sont pas affectées
      par un changement de variable globale. (pas même le client qui a
      émis la commande SET GLOBAL).
    
      Pour définir la valeur d'une variable GLOBAL,
      vous devez utiliser l'une des syntaxes suivantes. Ici nous
      utilisons la variable sort_buffer_size à titre
      d'exemple.
    
      Pour donner la valeur à une variable GLOBAL,
      utilisez l'une de ces syntaxes :
    
mysql>SET GLOBAL sort_buffer_size=value;mysql>SET @@global.sort_buffer_size=value;
      Pour définir la valeur d'une variable SESSION,
      vous devez utiliser l'une des syntaxes suivantes :
    
mysql>SET SESSION sort_buffer_size=value;mysql>SET @@session.sort_buffer_size=value;mysql>SET sort_buffer_size=value;
      LOCAL est un synonyme de
      SESSION.
    
      Si vous ne spécifiez pas GLOBAL ou
      SESSION alors SESSION est
      utilisé. See Section 13.5.2.8, « Syntaxe de SET ».
    
      Pour récupérer la valeur d'une variable de type
      GLOBAL vous pouvez utiliser l'une des commandes
      suivantes :
    
mysql>SELECT @@global.sort_buffer_size;mysql>SHOW GLOBAL VARIABLES like 'sort_buffer_size';
      Pour récupérer la valeur d'une variable de type
      SESSION vous pouvez utiliser l'une des
      commandes suivantes :
    
mysql>SELECT @@sort_buffer_size;mysql>SELECT @@session.sort_buffer_size;mysql>SHOW SESSION VARIABLES like 'sort_buffer_size';
      Ici aussi, LOCAL est un synonyme de
      SESSION.
    
      Lorsque vous récupérez une valeur de variable avec la syntaxe
      @@nom_variable et que vous ne spécifiez pas
      GLOBAL ou SESSION, MySQL
      retournera la valeur spécifique au thread
      (SESSION) si elle existe. Sinon, MySQL
      retournera la valeur globale.
    
      Pour la commande SHOW VARIABLES, si vous ne
      spécifiez pas GLOBAL,
      SESSION ou LOCAL, MySQL
      retourne les valeurs de SESSION.
    
      La raison d'imposer la présence du mot GLOBAL
      pour configurer une variable de type GLOBAL
      mais non pour la lire est pour être sur que vous n'aurez pas de
      problèmes plus tard si vous voulez introduire ou effacer une
      variable spécifique au thread qui aurait le même nom. Dans ce
      cas, vous pourriez changer accidentellement l'état du serveur
      pour toutes les connexions (et non la votre uniquement).
    
      Plus d'informations sur les options de démarrage du système et
      les variables système sont dans les sections
      Section 5.2.1, « Options de ligne de commande de mysqld » et
      Section 5.2.3, « Variables serveur système ». Une liste des variables
      qui peuvent être modifiées durant l'exécution est présentée
      dans Section 5.2.3.1, « Variables système dynamiques ».
    
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

