Maison> base de données> tutoriel mysql> le corps du texte

Explication détaillée des variables globales et locales de MySQL

王林
Libérer: 2020-01-27 20:39:04
avant
2516 Les gens l'ont consulté

Explication détaillée des variables globales et locales de MySQL

Habituellement, au démarrage du serveur, chaque variable globale est initialisée à sa valeur par défaut (nous pouvons modifier ces valeurs par défaut via la ligne de commande ou les options spécifiées dans le fichier d'options), et puis le serveur Un ensemble de variables de session est également conservé pour chaque client connecté, les variables de session du client étant initialisées au moment de la connexion en utilisant les valeurs actuelles des variables globales correspondantes.

Un exemple est le suivant :

initialisera une variable système nomméedefault_storage_engineavec une portée GLOBAL au démarrage du serveur. Après cela, chaque fois qu'un client se connecte au serveur, le serveur. allouera séparément une variable système nommée default_storage_engine avec une portée de SESSION au client. La valeur de la variable système avec une portée de SESSION est initialisée en fonction de la valeur de la variable système du même nom avec une portée actuelle de GLOBAL.

(Tutoriel vidéo d'apprentissage gratuit recommandé :Tutoriel vidéo MySQL)

De toute évidence, la portée des variables système définies via les options de démarrage est GLOBALE, c'est-à-dire que tous les clients sont valide car aucun programme client n'est connecté au démarrage du système. Après avoir compris la portée GLOBAL et SESSION des variables système, examinons la syntaxe de définition des variables système via le programme client lors de l'exécution du programme serveur :

SET [GLOBAL|SESSION] 系统变量名 = 值;
Copier après la connexion

ou comme suit :

SET [@@(GLOBAL|SESSION).]var_name = XXX;
Copier après la connexion

Par exemple, nous souhaitons changer la valeur de la variable système default_storage_engine avec une portée GLOBAL en MyISAM pendant le fonctionnement du serveur. C'est-à-dire que nous voulons que tous les nouveaux clients connectés au serveur utilisent MyISAM comme stockage par défaut. moteur. Ensuite, nous pouvons choisir les deux suivants. Définissez l'une des déclarations :

Déclaration un :

SET GLOBAL default_storage_engine = MyISAM;
Copier après la connexion

Déclaration deux :

SET @@GLOBAL.default_storage_engine = MyISAM;
Copier après la connexion

Si vous souhaitez uniquement prendre effet pour ce client, vous pouvez également choisir l'une des trois déclarations ci-dessous. Pour définir l'une des :

Déclaration un :

SET SESSION default_storage_engine = MyISAM;
Copier après la connexion

Déclaration deux :

SET @@SESSION.default_storage_engine = MyISAM;
Copier après la connexion

Déclaration trois :

SET default_storage_engine = MyISAM;
Copier après la connexion

Vous pouvez également utiliser l'instruction trois ci-dessus. On peut voir que si la portée est omise dans l'instruction qui définit la variable système, la portée par défaut est SESSION. En d’autres termes, nom de la variable système SET = valeur et nom de la variable système SET SESSION = valeur sont équivalents.

Afficher les variables système avec différentes portées

Étant donné que les variables système ont des portées, quelle portée des variables système notre instruction SHOW VARIABLES vérifie-t-elle ?

Réponse : Par défaut, les variables système dans la portée SESSION sont affichées.

Bien sûr, nous pouvons également ajouter la portée des variables système que nous voulons vérifier sur l'instruction pour vérifier les variables système, comme ceci :

SHOW [GLOBAL|SESSION] VARIABLES [LIKE 匹配的模式];
Copier après la connexion

Articles et tutoriels connexes recommandés :Tutoriel MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!