MySQL è un programma di database open - source progettato per funzionare su più piattaforme . Ogni database può avere più connessioni in ingresso . Quando un programma o un utente si connette a una riga o una tabella nel database , i dati che sta accedendo è bloccato . Questo significa un altro utente o programma non possono accedere agli stessi dati nello stesso tempo . I programmi sono in genere progettati per memorizzare nella cache i dati per evitare di bloccare le risorse del database . Tuttavia, uno script può essere usato per uccidere un " sonno ", o di inattività , connessione , se necessario. Istruzioni
1
Aprire la riga di comando di MySQL come utente amministrativo . In Windows , fare clic sul menu "Start " e digitare " cmd.exe " nel campo " Search " , quindi premere " Invio". Sui sistemi Linux /Unix , apre una nuova finestra "Terminale" e digitare "su" per accedere all'account di root.
2
tipo " mysql " per aprire il prompt dei comandi MySQL .
< Br >
3
digitare il seguente codice e premere " Invio " per inserire ulteriori righe e creare una procedura :
DELIMITER % %
Questo consente di immettere il testo per il . nuovo script o procedura in MySQL
4
Tipo le seguenti righe , premendo il tasto " Invio " dopo ogni riga :
CREATE PROCEDURE ` killsleepingconnections ` ( ) per
COMMENTO ' Script di uccidere dormendo collegamenti'
LEGGE SQL DATI
Queste linee definiscono il nome della procedura " killsleepingconnections " e inserire una descrizione per questo. È possibile sostituire il nome della procedura con un altro nome , se si preferisce
5
Tipo le seguenti righe , premendo il tasto " Invio " dopo ogni riga : .
BEGIN
< p > DECLARE end_rows BOOLEANO ;
DICHIARANO no_loops INT default 0 ;
DICHIARANO rownum INT default 0 ;
Questo codice fa partire lo script e dichiara le variabili di lavorare con la connessione < . br> Pagina 6
Tipo le seguenti righe , premendo il tasto " Invio" dopo ogni riga :
DECLARE CURSOR corr PER
Selezionare ID
DA information_schema.PROCESSLIST PL
DOVE PL.COMMAND = ' Sleep' E PL.TIME > 120 ;
DICHIARARE CONTINUA gestore per non trovata
end_rows = TRUE ;
< p> Queste linee di andare a prendere la prima connessione al database che è stato inattivo per almeno 120 secondi. È possibile ridefinire il periodo di sonno , se necessario , semplicemente sostituendo "120" con il numero di secondi che si desidera consentire
7
Tipo le seguenti righe , premendo il tasto " Invio " dopo ogni riga : . < Br >
Ucur APERTA ;
Seleziona FOUND_ROWS ( ) in rownum ;
loop: LOOP
end_rows ALLORA
Ucur CLOSE ;
CONGEDO loop;
END IF ;
END % %
DELIMITER ;
Queste linee di chiudere la connessione e terminare la definizione della procedura . La nuova procedura può essere chiamato dalla riga di comando di MySQL o dal programma di amministrazione grafica utilizzando il nome definito per l'inizio della procedura .
8
digitare quanto segue per chiamare la procedura da MySQL interfaccia a riga di comando :
chiamata killsleepingconnections ( ) per
chiamerà la procedura creato nei passaggi precedenti e chiudere tutte le connessioni che sono state dormendo più di due minuti . La procedura viene salvato in modo permanente sul server MySQL e può essere richiamato in qualsiasi momento .