Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> PHP /MySQL Programmazione >> .

Come uccidere Sleeping MySQL Connessioni

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 .


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

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 ;

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 : .

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 .

 

Programmazione © www.354353.com