MySQL ist eine Open- Source-Datenbank- Programm entwickelt, um auf mehreren Plattformen laufen. Jede Datenbank kann mehrere eingehende Verbindungen. Wenn ein Programm oder Benutzer, einer Reihe oder in der Datenbank verbunden ist, die Daten er Zugriff gesperrt . Dies bedeutet, ein anderer Benutzer oder ein Programm kann nicht auf die gleichen Daten zur gleichen Zeit . Programme werden in der Regel entwickelt, um Daten zwischenspeichern zu vermeiden Verriegelung Datenbank-Ressourcen . Allerdings kann ein Skript verwendet werden, um einen zu töten "schlafenden " oder Leerlauf , Verbindung , wie gebraucht. Anleitung
1
Öffnen Sie die MySQL Kommandozeile als Benutzer mit Administratorrechten . In Windows , klicken Sie auf das Menü "Start" und geben Sie " cmd.exe " im Feld "Suche" , und drücken Sie "Enter". Auf Linux /Unix-Systeme , öffnet sich ein neues Fenster "Terminal" und geben Sie " su" auf den Root-Account zuzugreifen.
2
Typ "MySQL ", um die MySQL -Eingabeaufforderung.
< Br öffnen > Seite 3
geben Sie den folgenden Code ein und drücken Sie "Enter ", um das zusätzliche Leitungen und eine Prozedur :
DELIMITER %%
Dadurch können Sie den Text für die Eingabe . neues Skript oder Prozedur in MySQL
4
Geben Sie die folgenden Zeilen ein und drücken Sie "Enter" nach jeder Zeile :
CREATE PROCEDURE ` killsleepingconnections ` ()
KOMMENTIEREN 'Script zu töten schlafen Verbindungen '
LIEST SQL DATA
Diese Zeilen definieren die Namen der Prozedur " killsleepingconnections " und geben Sie eine Beschreibung für sie. Sie können den Namen des Verfahrens mit einem anderen Namen ersetzen, wenn Sie bevorzugen
5
Geben Sie die folgenden Zeilen ein und drücken Sie "Enter" nach jeder Zeile .
BEGIN
< p > DECLARE end_rows boolean;
DECLARE no_loops INT DEFAULT 0;
DECLARE rownum INT DEFAULT 0;
Dieser Code startet das Skript und erklärt Variablen mit der Verbindung arbeiten < . br> 6
Geben Sie die folgenden Zeilen ein und drücken Sie "Enter" nach jeder Zeile :
DECLARE CURSOR FOR Aktuell
SELECT ID FROM
information_schema.PROCESSLIST PL
WHERE PL.COMMAND = ' Sleep' UND PL.TIME > 120;
DECLARE HANDLER WEITER FÜR NICHT GEFUNDEN
SET end_rows = TRUE;
< p> Diese Zeilen holen die erste Verbindung in der Datenbank, die im Leerlauf hat für 120 Sekunden oder mehr. Sie können die Schlaf-Periode neu wie gebraucht , nur durch Austausch " 120 " mit der Anzahl der Sekunden die Sie zulassen möchten
7
Geben Sie die folgenden Zeilen ein und drücken Sie "Enter" nach jeder Zeile .
OPEN Ucur ;
select FOUND_ROWS ( ) in rownum ;
loop: LOOP
IF end_rows DANN
SCHLIESSEN Ucur ;
Schleife verlassen ;
END IF;
END% %
DELIMITER ;
Diese Linien die Verbindung zu beenden und das Verfahren beenden Definition . Das neue Verfahren kann von der MySQL Kommandozeilen-Schnittstelle oder aus der grafischen Verwaltung Programm mit dem Namen in der zu Beginn des Verfahrens definiert aufgerufen werden.
8
Geben Sie die folgende Prozedur , um die aus der MySQL rufen Kommandozeilen-Schnittstelle :
Anruf killsleepingconnections ()
Dies wird die Prozedur in den vorherigen Schritten erstellt und schließen Sie alle Verbindungen, die geschlafen haben mehr als zwei Minuten. Das Verfahren wird permanent auf dem MySQL-Server gespeichert und können jederzeit abgerufen werden.