Maison >base de données >tutoriel mysql >MySQL vérifie si la table est verrouillée

MySQL vérifie si la table est verrouillée

(*-*)浩
(*-*)浩original
2019-05-07 16:51:3733031parcourir

Méthode MySQL pour vérifier si la table est verrouillée : entrez d'abord dans la fenêtre de commande ; puis exécutez la commande "show engine innodb statusG;" pour vérifier l'instruction SQL provoquant le blocage et analyser la situation de l'index.

MySQL vérifie si la table est verrouillée

peut être exécuté directement sur la ligne de commande mysql : show engine innodb statusG ;

Afficher les instructions SQL qui ont provoqué le blocage et analysez la situation de l'index, puis optimisez SQL puis affichez la liste des processus ;

Cours recommandé : Tutoriel MySQL.

mysql> affiche le statut comme 'Table%';

+----------------------------+----------+
| Variable_name        | Value |
+----------------------------+----------+
| Table_locks_immediate | 105         |
| Table_locks_waited   | 3           |
+----------------------------+----------+

Table_locks_immediate fait référence au nombre de fois où les verrous au niveau de la table peuvent être obtenus immédiatement. Le nombre de fois qu'il faut attendre pour obtenir les verrous au niveau de la table.

show OPEN TABLES Where In_use > 0; Cette instruction enregistre l'état actuel de la table de verrouillage

Ajouté sous l'option [mysqld] du fichier de configuration my.ini :

slow_query_log=TRUE

slow_query_log_file=c:/slow_query_log.txt

long_query_time=3

Une fois l'ajout terminé, n'oubliez pas de redémarrer le service MySQL pour qu'il prenne effet. la sortie. Souriez enfin, entrez la commande dans le client MySQL :

afficher les variables comme '%quer%' ; Vérifiez si c'est OK

Activer le journal des requêtes lentes mysql

Afficher la configuration :

//查看慢查询时间
show variables like "long_query_time";默认10s
//查看慢查询配置情况
show status like "%slow_queries%";
//查看慢查询日志路径
 show variables like "%slow%";
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。
-slow_query_log_file慢日志文件路径
-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志
Revenons au point, revenons au point de départ de notre problème Blocage de la table de requête Mysql et étapes de la table pour mettre fin au blocage

1 Demander si la table est verrouillée afficher OPEN TABLES où In_use. > 0;

2. Interrogez le processus

show processlist Interrogez le processus correspondant === puis tuez l'identifiant

Supplémentaire :

Affichez le transaction en cours de verrouillage

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

Afficher les transactions en attente de verrouillage

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS

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