MySQL er en open -source database -program designet til at køre på flere platforme . Hver database kan have flere indkommende forbindelser . Når et program eller bruger opretter forbindelse til en række eller tabel i databasen , er de data, det er adgang låst. Dette betyder en anden bruger eller et program kan ikke få adgang til samme data på samme tid . Programmer er normalt konstrueret til at cache data for at undgå at låse database ressourcer. Dog kan et script bruges til at dræbe en " sovende " eller inaktiv , tilslutning efter behov . Instruktioner
1
Åbn MySQL kommando-linje som en administrativ bruger. I Windows skal du klikke på "Start" -menuen og skriv " cmd.exe " i " Search" feltet og tryk "Enter". På Linux /Unix -systemer , skal du åbne en ny " Terminal" vindue og skriv " su " for at få adgang til root-konto.
2
Type " mysql " for at åbne MySQL kommandoprompten.
< Br >
3
Indtast følgende kode og tryk på " Enter" for at indtaste yderligere linjer og skabe en procedure : Hej
DELIMITER % %
Dette giver dig mulighed for at indtaste teksten til . nyt script eller procedure i MySQL
4
skrive følgende linjer og trykke på "Enter" efter hver linje : Hej
CREATE pROCEDURE ` killsleepingconnections ` ()
COMMENT 'Script til at dræbe sovende tilslutninger '
LÆSER SQL DATA
Disse linjer definerer navnet på proceduren " killsleepingconnections ", og indtast en beskrivelse af det. Du kan erstatte navnet på proceduren med et andet navn, hvis du foretrækker
5
skrive følgende linjer og trykke på "Enter" efter hver linje: .
BEGIN
< p > DECLARE end_rows BOOLESK ,
DECLARE no_loops INT DEFAULT 0 ,
DECLARE rownum INT DEFAULT 0 ,
Denne kode starter scriptet og erklærer variabler til at arbejde med forbindelsen < . br >
6
skrive følgende linjer og trykke på "Enter" efter hver linje : Hej
DECLARE cur CURSOR fOR
SELECT ID
FRA information_schema.PROCESSLIST PL
WHERE PL.COMMAND = ' Sleep' AND PL.TIME > 120;
ERKLÆRER FORTSÆT HANDLER for IKKE FUNDET
SET end_rows = TRUE ;
< p> Disse linjer hente den første forbindelse i databasen, der har været inaktiv i 120 sekunder eller mere. Du kan omdefinere søvn periode nødvendig, bare ved at erstatte " 120 " med det antal sekunder du vil tillade
7
skrive følgende linjer og trykke på "Enter" efter hver linje: . < Br >
ÅBEN ucur ,
udvalgte FOUND_ROWS ( ) ind rownum ,
loop : lOOP
IF end_rows SÅ
CLOSE ucur ;
LEAVE loop
END IF
END % %
DELIMITER ,
Disse linjer lukke forbindelsen og afslutte proceduren definition. Den nye procedure kan kaldes fra MySQL kommandolinjen interface eller fra den grafiske administration program med det navn er defineret i begyndelsen af proceduren .
8
Skriv følgende for at ringe proceduren fra MySQL kommando -line interface : Hej
kald killsleepingconnections ()
Dette vil kalde den procedure skabt i de foregående trin og lukke alle forbindelser , der har været i søvn mere end to minutter . Proceduren er permanent gemt på MySQL -serveren og kan kaldes på ethvert tidspunkt.