MySQL er en åpen kildekode- database program utviklet for å kjøre på flere plattformer . Hver database kan ha flere innkommende tilkoblinger . Når et program eller bruker kobler til en rad eller tabell i databasen , er dataene den får tilgang låst. Dette betyr at en annen bruker eller et program kan ikke tilgang til de samme data på samme tid . Programmene er normalt utformet for å cache data for å unngå å låse databasen ressurser . Imidlertid kan et skript brukes til å drepe en "sovende ", eller inaktiv , tilkobling etter behov. Instruksjoner
en
Åpne MySQL kommandolinjeverktøy som en administrativ bruker . I Windows klikker du på "Start "-menyen og skriv " cmd.exe " i "Søk "-feltet , og trykk deretter på "Enter". På Linux /Unix -systemer åpner en ny " Terminal "-vinduet og skriv " su " for å få tilgang til root-kontoen .
2
Type " mysql " for å åpne MySQL ledeteksten .
3
Skriv inn følgende kode og trykk "Enter" for å legge inn ekstra linjer og lage en prosedyre : en
DELIMITER %%
p Dette gjør at du kan skrive inn teksten for . nytt skript eller prosedyre i MySQL
4
Skriv inn følgende linjer ved å trykke "Enter" etter hver linje : en
CREATE pROSEDYRE ` killsleepingconnections ` ( )
KOMMENTAR ' Script til å drepe sovende tilkoblinger '
LESER SQL DATA
Disse linjene definerer navnet på prosedyren " killsleepingconnections " og skriv inn en beskrivelse for det. Du kan bytte ut navnet på prosedyren med et annet navn hvis du foretrekker
5
Skriv inn følgende linjer ved å trykke "Enter " etter hver linje: .
BEGIN
< p > DECLARE end_rows boolean ;
DECLARE no_loops INT STANDARD 0;
DECLARE rownum INT STANDARD 0;
Denne koden starter manuset og erklærer variabler å jobbe med tilkoblingen < . br >
6
Skriv inn følgende linjer ved å trykke "Enter" etter hver linje : en
DECLARE nå CURSOR fOR
SELECT ID
FRA information_schema.PROCESSLIST PL
HVOR PL.COMMAND = ' Sleep ' AND PL.TIME > 120 ;
DECLARE FORTSETT HANDLER FOR IKKE FUNNET
SET end_rows = TRUE ;
< p> Disse linjene hente den første tilkoblingen i databasen som har vært inaktiv i 120 sekunder eller mer. Du kan omdefinere den hvileperioden som er nødvendig, bare ved å bytte ut "120" med det antall sekunder du vil tillate
7
Skriv inn følgende linjer ved å trykke "Enter " etter hver linje: .
OPEN ucur ;
utvalgte FOUND_ROWS ( ) inn rownum ;
bue: LOOP
IF end_rows SÅ
CLOSE ucur ;
PERMISJON sløyfe ;
END IF ;
END% %
DELIMITER ;
Disse linjene lukke tilkoblingen og avslutte prosedyren definisjon. Den nye prosedyren kan kalles fra MySQL kommandolinje- grensesnitt eller fra det grafiske administrasjonen programmet ved hjelp av navn som er definert i begynnelsen av prosedyren .
8
Skriv inn følgende å kalle prosedyren fra MySQL kommandolinje-grensesnitt : en
samtale killsleepingconnections ( )
p Dette vil kalle prosedyren opprettet i de forrige trinnene og lukk eventuelle forbindelser som har vært sover mer enn to minutter . Prosedyren er permanent lagret på MySQL server og kan kalles når som helst.