Maison  >  Article  >  base de données  >  Comment modifier des variables dans MySQL

Comment modifier des variables dans MySQL

WBOY
WBOYoriginal
2022-05-26 17:44:116456parcourir

Méthode : 1. Utilisez l'instruction "set GLOBAL|SESSION variables to be set" pour modifier ; 2. Utilisez l'instruction "set @user variables" ou "set @@system variables" pour modifier. Les variables font référence aux variables de paramètres qui affectent les ressources de données.

Comment modifier des variables dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Comment modifier des variables dans MySQL

Variables MySQL

Les variables MySQL font en fait référence ici à certains paramètres, qui sont utilisés pour initialiser ou définir l'occupation par la base de données des ressources système, des emplacements de stockage de fichiers, etc. Une fois le nouveau système installé, il a été initialisé. Mais parfois, nous ne voulons pas prendre les valeurs par défaut, nous devons donc modifier ces valeurs.

Les variables MySQL sont divisées en deux types :

  • Variables système : Configurez l'environnement d'exécution du serveur MySQL, vous pouvez utiliser show variables pour afficher

    Peut être divisé en deux types suivants en fonction de leurs différentes portées :

    • Divisé en niveau global (GLOBAL) : Valable pour l'ensemble du serveur MySQL

    • Niveau de session (SESSION ou LOCAL) : N'affecte que la session en cours

      Certaines variables ont les deux niveaux ci-dessus à en même temps, MySQL lors de l'établissement d'une connexion utilisera des variables de niveau global pour initialiser les variables de niveau session, mais une fois la connexion établie, les modifications apportées aux variables de niveau global n'affecteront pas les variables de niveau session.

  • Variables d'état : Surveillez l'état d'exécution du serveur MySQL, qui peut être visualisé avec show status et ne peut pas être modifié.

Modifier la valeur des variables système

1. La syntaxe de modification des valeurs des variables :

set [GLOBAL | SESSION] 需要设置的变量
mysql> set global  log_queries_not_using_indexes=ON;

Query OK, 0 rows affected (0.00 sec)

2. Il existe une autre façon d'écrire : @@

mysql> set  @@global.log_queries_not_using_indexes=ON;

Query OK, 0 rows affected (0.00 sec)

@ : représente les variables utilisateur

.

@@ : Représente les variables système

Afficher la valeur des variables système (afficher)

Afficher la première méthode : Les variables système sont stockées dans la performance_schema数据库里的GLOBAL_VARIABLESSESSION_VARIABLES table et peuvent être obtenues directement en affichant le contenu de la table.

mysql> use performance_schema
Database changed

mysql> show tables like '%variables';
+-------------------------------------------+
| Tables_in_performance_schema (%variables) |
+-------------------------------------------+
| global_variables                          |
| persisted_variables                       |
| session_variables                         |
+-------------------------------------------+
3 rows in set (0.00 sec)

Afficher la deuxième méthode : Utiliser la syntaxe d'affichage des variables

SHOW [GLOBAL | SESSION] VARIABLES [LIKE 'pattern' | WHERE expr]
  • Requête précise :

    mysql> show variables like 'slow_query_log';
    
    +----------------+-------+
    | Variable_name  | Value |
    +----------------+-------+
    | slow_query_log | ON    |
    +----------------+-------+
    1 row in set, 1 warning (0.00 sec)
  • Requête générique (%)

    mysql> show variables like '%log';
    
    +----------------------------------+---------------------------+
    | Variable_name                    | Value                     |
    +----------------------------------+---------------------------+
    | back_log                         | 80                        |
    | general_log                      | OFF                       |
    | innodb_api_enable_binlog         | OFF                       |
    | log_statements_unsafe_for_binlog | ON                        |
    | relay_log                        | DESKTOP-Q8KGU39-relay-bin |
    | slow_query_log                   | ON                        |
    | sync_binlog                      | 1                         |
    | sync_relay_log                   | 10000                     |
    +----------------------------------+---------------------------+
    8 rows in set, 1 warning (0.00 sec)
  • Requête de correspondance à un seul caractère (_)

    mysql> show variables like 'log_b__';
    
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | log_bin       | ON    |
    +---------------+-------+
    1 row in set, 1 warning (0.01 sec)
  • instruction où Requête (voir l'instruction SQL Where pour la syntaxe)

    mysql> show variables where variable_name = 'version';
    
    +---------------+--------+
    | Variable_name | Value  |
    +---------------+--------+
    | version       | 8.0.13 |
    +---------------+--------+
    1 row in set, 1 warning (0.00 sec)
    
    mysql> show variables where value like '8.%';
    +----------------+--------+
    | Variable_name  | Value  |
    +----------------+--------+
    | innodb_version | 8.0.13 |
    | version        | 8.0.13 |
    +----------------+--------+
    2 rows in set, 1 warning (0.00 sec)

Apprentissage recommandé : Tutoriel vidéo 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!

Déclaration:
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