Questo è il comando pt-variable-advisorp che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
pt-variable-advisor - Analizza le variabili MySQL e fornisce consigli su possibili problemi.
SINOSSI
Utilizzo: pt-variable-advisor [OPZIONI] [DSN]
pt-variable-advisor analizza le variabili e consiglia su possibili problemi.
Ottieni MOSTRA VARIABILI da localhost:
pt-variable-advisor localhost
Ottieni l'output SHOW VARIABLES salvato in vars.txt:
pt-variable-advisor --source-of-variables vars.txt
RISCHI
Percona Toolkit è maturo, collaudato nel mondo reale e ben testato, ma tutto database
strumenti possono rappresentare un rischio per il sistema e il server del database. Prima di utilizzare questo strumento,
per favore:
· Leggi la documentazione dello strumento
· Rivedere i "BUG" noti dello strumento
· Testare lo strumento su un server non di produzione
· Eseguire il backup del server di produzione e verificare i backup
DESCRIZIONE
pt-variable-advisor esamina "MOSTRA VARIABILI" per valori e impostazioni errati secondo il file
"REGOLE" descritte di seguito. Riporta le variabili che corrispondono alle regole, così puoi trovarle
impostazioni errate nel tuo server MySQL.
Al momento di questo rilascio, pt-variable-advisor presenta solo esempi di "SHOW VARIABLES", ma altro
sono previste sorgenti di ingresso come “SHOW STATUS” e “SHOW SLAVE STATUS”.
REGOLAMENTO
Queste sono le regole che pt-variable-advisor applicherà a SHOW VARIABLES. Ogni regola ha
tre parti: un ID, una gravità e una descrizione.
L'ID della regola è un nome breve e univoco per la regola. Di solito si riferisce alla variabile
che la norma esamina. Se una variabile viene esaminata da più regole, vengono utilizzati gli ID delle regole
sono numerati come "-1", "-2", "-N".
La gravità della regola è un'indicazione di quanto sia importante che questa regola corrisponda a
domanda. Usiamo NOTE, WARN e CRIT per denotare questi livelli.
La descrizione della regola è una spiegazione testuale e leggibile dall'uomo di cosa significa quando a
variabile corrisponde a questa regola. A seconda della verbosità del report generato, tu
vedrà più testo nella descrizione. Per impostazione predefinita, vedrai solo il primo
frase, che è una sorta di concisa sinossi del significato della regola. Ad una maggiore verbosità,
vedrai le frasi successive.
Incremento automatico
gravità: nota
Stai tentando di scrivere su più di un server in una replica dual-master o ad anello
configurazione? Questo è potenzialmente molto pericoloso e nella maggior parte dei casi è grave
errore. Le ragioni della maggior parte delle persone per farlo in realtà non sono affatto valide.
inserimento_concorrente
gravità: nota
I buchi (spazi lasciati dalle eliminazioni) nelle tabelle MyISAM potrebbero non essere mai riutilizzati.
timeout_connessione
gravità: nota
Un valore elevato di questa impostazione può creare una vulnerabilità di tipo Denial of Service.
mettere a punto
gravità: critico
I server creati con funzionalità di debug non devono essere utilizzati in produzione a causa di
il grande impatto sulle prestazioni.
ritardo_chiave_scrittura
gravità: avvisare
I blocchi dell'indice MyISAM non vengono mai scaricati finché non è necessario. Se si verifica un arresto anomalo del server,
la corruzione dei dati sulle tabelle MyISAM può essere molto peggiore del solito.
lavare
gravità: avvisare
Questa opzione potrebbe ridurre notevolmente le prestazioni.
flush_time
gravità: avvisare
Questa opzione potrebbe ridurre notevolmente le prestazioni.
have_bdb
gravità: nota
Il motore BDB è deprecato. Se non lo stai utilizzando, dovresti disabilitarlo con il file
opzione skip_bdb.
init_connect
gravità: nota
L'opzione init_connect è abilitata su questo server.
init_file
gravità: nota
L'opzione init_file è abilitata su questo server.
init_slave
gravità: nota
L'opzione init_slave è abilitata su questo server.
innodb_additional_mem_pool_size
gravità: avvisare
In genere non è necessario che questa variabile sia più grande di 20 MB.
innodb_buffer_pool_size
gravità: avvisare
La dimensione del pool di buffer InnoDB non è configurata. In un ambiente di produzione dovrebbe
essere sempre configurato in modo esplicito e la dimensione predefinita di 10 MB non è buona.
innodb_checksums
gravità: avvisare
I checksum InnoDB sono disabilitati. I tuoi dati non sono protetti dalla corruzione dell'hardware o
altri errori!
innodb_doublewrite
gravità: avvisare
La doppia scrittura InnoDB è disabilitata. A meno che non utilizzi un filesystem che protegge da
viene scritta una pagina parziale, i tuoi dati non sono al sicuro!
innodb_fast_shutdown
gravità: avvisare
Il comportamento di arresto di InnoDB non è predefinito. Ciò può portare a prestazioni scadenti o
la necessità di eseguire il ripristino da crash all'avvio.
innodb_flush_log_at_trx_commit-1
gravità: avvisare
InnoDB non è configurato in modalità strettamente ACID. Se c'è un incidente, alcuni
le transazioni possono andare perse.
innodb_flush_log_at_trx_commit-2
gravità: avvisare
L'impostazione di innodb_flush_log_at_trx_commit su 0 non presenta vantaggi in termini di prestazioni rispetto all'impostazione
su 2 e sono possibili più tipi di perdita di dati. Se stai cercando di cambiarlo
da 1 per motivi di prestazioni, dovresti impostarlo su 2 invece che su 0.
innodb_force_recovery
gravità: avvisare
InnoDB è in modalità di recupero forzato! Questo dovrebbe essere usato solo temporaneamente quando
ripristino da danneggiamento dei dati o altri bug, non per l'utilizzo normale.
innodb_lock_wait_timeout
gravità: avvisare
Questa opzione ha un valore insolitamente lungo, che può causare un sovraccarico del sistema in caso di blocchi
non essere rilasciato.
innodb_log_buffer_size
gravità: avvisare
La dimensione del buffer del log InnoDB generalmente non deve essere impostata su un valore superiore a 16 MB. Se sei
eseguendo operazioni BLOB di grandi dimensioni, InnoDB non è comunque una buona scelta di motori.
dimensione_file_log_innodb
gravità: avvisare
La dimensione del file di registro InnoDB è impostata sul valore predefinito, che non è utilizzabile su
sistemi di produzione.
innodb_max_dirty_pages_pct
gravità: nota
innodb_max_dirty_pages_pct è inferiore a quello predefinito. Ciò può causare eccessivo
lavaggio aggressivo e aggiungere carico al sistema I/O.
flush_time
gravità: avvisare
È probabile che questa impostazione causi prestazioni pessime ogni flush_time secondi.
key_buffer_size
gravità: avvisare
La dimensione del buffer della chiave è impostata sul valore predefinito, il che non va bene per la maggior parte della produzione
sistemi. In un ambiente di produzione, key_buffer_size dovrebbe essere maggiore di
dimensione predefinita di 8 MB.
large_pages
gravità: nota
Sono abilitate le pagine di grandi dimensioni.
bloccato_in_memoria
gravità: nota
Il server è bloccato in memoria con --memlock.
log_warnings-1
gravità: nota
Log_warnings è disabilitato, quindi eventi insoliti come istruzioni non sono sicuri per la replica
e le connessioni interrotte non verranno registrate nel registro degli errori.
log_warnings-2
gravità: nota
Log_warnings deve essere impostato su un valore maggiore di 1 per registrare eventi insoliti come interruzioni
connessioni.
aggiornamenti_a_bassa_priorità
gravità: nota
Il server è in esecuzione con una priorità di blocco non predefinita per gli aggiornamenti. Ciò potrebbe causare
aggiornare le query per attendere inaspettatamente le query di lettura.
dimensione_max_binlog
gravità: nota
Il valore max_binlog_size è inferiore al valore predefinito di 1 GB.
max_connect_errori
gravità: nota
max_connect_errors dovrebbe probabilmente essere impostato su un valore massimo consentito dalla tua piattaforma.
max_connections
gravità: avvisare
Se il server ha davvero più di mille thread in esecuzione, allora il sistema lo è
è probabile che dedichi più tempo alla pianificazione delle discussioni che al lavoro realmente utile. Questo
il valore della variabile deve essere considerato alla luce del carico di lavoro.
myisam_repair_threads
gravità: nota
myisam_repair_threads > 1 abilita la riparazione multi-thread, che è relativamente non testata
ed è ancora elencato come codice di qualità beta nella documentazione ufficiale.
vecchie_password
gravità: avvisare
Le password vecchio stile non sono sicure. Vengono inviati in chiaro attraverso il cavo.
ottimizzatore_prune_level
gravità: avvisare
L'ottimizzatore utilizzerà una ricerca esaustiva durante la pianificazione di query complesse, il che può
far sì che il processo di pianificazione richieda molto tempo.
porto
gravità: nota
Il server è in ascolto su una porta non predefinita.
query_cache_size-1
gravità: nota
La cache delle query non è scalabile a grandi dimensioni e può causare prestazioni instabili quando
più grande di 128 MB, soprattutto su macchine multi-core.
query_cache_size-2
gravità: avvisare
La cache delle query può causare gravi problemi di prestazioni quando supera i 256 MB,
soprattutto su macchine multi-core.
read_buffer_size-1
gravità: nota
La variabile read_buffer_size dovrebbe generalmente essere lasciata al suo valore predefinito a meno che un esperto
stabilisce che è necessario cambiarlo.
read_buffer_size-2
gravità: avvisare
La variabile read_buffer_size non deve essere più grande di 8 MB. In genere dovrebbe esserlo
lasciato al suo valore predefinito a meno che un esperto non ritenga necessario modificarlo. Fabbricazione
una dimensione superiore a 2 MB può compromettere significativamente le prestazioni e causare il crash del server,
scambiarsi fino alla morte o semplicemente diventare estremamente instabile.
read_rnd_buffer_size-1
gravità: nota
La variabile read_rnd_buffer_size dovrebbe generalmente essere lasciata al suo valore predefinito a meno che un
l'esperto stabilisce che è necessario modificarlo.
read_rnd_buffer_size-2
gravità: avvisare
La variabile read_rnd_buffer_size non deve essere maggiore di 4M. In generale dovrebbe
essere lasciato al valore predefinito a meno che un esperto non ritenga necessario modificarlo.
relè_log_spazio_limit
gravità: avvisare
L'impostazione di Relay_log_space_limit può causare l'interruzione del recupero dei log binari da parte delle repliche
immediatamente il loro padrone. Ciò potrebbe aumentare il rischio che i tuoi dati vadano persi se
il maestro crolla. Se le repliche hanno riscontrato un limite nello spazio del registro di inoltro, allora
è possibile che le ultime transazioni esistano solo sul master e nessuna replica
li ha recuperati.
slave_net_timeout
gravità: avvisare
Questa variabile è impostata su un valore troppo alto. È troppo lungo aspettare prima di notare che il file
la connessione al master non è riuscita e si sta riprovando. Probabilmente dovrebbe essere impostato su 60
secondi o meno. È anche una buona idea utilizzare pt-heartbeat per garantire che il file
la connessione non sembra scadere quando il master è semplicemente inattivo.
slave_skip_errors
gravità: critico
Non dovresti impostare questa opzione. Se la replica presenta errori, è necessario trovare e
risolverne la causa; è probabile che i dati del tuo slave siano diversi da quelli
maestro. Puoi scoprirlo con pt-table-checksum.
sort_buffer_size-1
gravità: nota
La variabile sort_buffer_size dovrebbe generalmente essere lasciata al suo valore predefinito a meno che un esperto
stabilisce che è necessario cambiarlo.
sort_buffer_size-2
gravità: nota
La variabile sort_buffer_size dovrebbe generalmente essere lasciata al suo valore predefinito a meno che un esperto
stabilisce che è necessario cambiarlo. Renderlo più grande di pochi MB può far male
prestazioni in modo significativo e può causare il crash del server, lo swap fino alla morte o semplicemente
diventare estremamente instabile.
sql_note
gravità: nota
Questo server è configurato per non registrare gli avvisi a livello di nota nel log degli errori.
sync_frm
gravità: avvisare
È meglio impostare sync_frm in modo che i file .frm vengano scaricati in modo sicuro sul disco in caso di a
arresto anomalo del server.
tx_isolamento-1
gravità: nota
Il livello di isolamento delle transazioni di questo server non è predefinito.
tx_isolamento-2
gravità: avvisare
La maggior parte delle applicazioni dovrebbe utilizzare il livello di isolamento delle transazioni REPEATABLE-READ predefinito,
o in alcuni casi READ-COMMITTED.
scadere_logs_giorni
gravità: avvisare
I log binari sono abilitati, ma l'eliminazione automatica non è abilitata. Se non elimini
log binari, il disco si riempirà. Se elimini i log binari esternamente a MySQL,
causerai comportamenti indesiderati. Chiedi sempre a MySQL di eliminare i log obsoleti, mai
eliminarli esternamente.
innodb_file_io_threads
gravità: nota
Questa opzione è inutile tranne che su Windows.
innodb_data_file_path
gravità: nota
I file InnoDB con estensione automatica possono consumare molto spazio su disco, il che è molto difficile da gestire
recuperare più tardi. Alcune persone preferiscono impostare innodb_file_per_table e allocare un valore fisso
file di dimensioni per ibdata1.
innodb_flush_method
gravità: nota
La maggior parte dei server di database di produzione che utilizzano InnoDB devono impostare innodb_flush_method su
O_DIRECT per evitare il doppio buffering, a meno che il sistema I/O non abbia prestazioni molto basse.
innodb_locks_unsafe_for_binlog
gravità: avvisare
Questa opzione effettua il ripristino point-in-time dai log binari e la replica,
inaffidabile se viene utilizzata la registrazione basata su istruzioni.
innodb_support_xa
gravità: avvisare
Il supporto delle transazioni XA interne di MySQL tra InnoDB e il log binario è disabilitato.
Il log binario potrebbe non corrispondere allo stato di InnoDB dopo il ripristino da arresto anomalo e la replica
potrebbe non essere sincronizzato a causa di istruzioni fuori ordine nel log binario.
log_bin
gravità: avvisare
La registrazione binaria è disabilitata, quindi il ripristino e la replica temporizzati non lo sono
possibile.
log_output
gravità: avvisare
Indirizzare l'output del log alle tabelle ha un impatto elevato sulle prestazioni.
max_relay_log_size
gravità: nota
È definito un max_relay_log_size personalizzato.
myisam_recover_options
gravità: avvisare
myisam_recover_options dovrebbe essere impostato su un valore come BACKUP,FORCE per garantirlo
si nota la corruzione della tabella.
storage_engine
gravità: nota
Il server utilizza un motore di archiviazione non standard come impostazione predefinita.
sync_binlog
gravità: avvisare
La registrazione binaria è abilitata, ma sync_binlog non è configurato in modo che ogni transazione
viene scaricato nel log binario per garantire la durabilità.
tmp_tabella_dimensione
gravità: nota
La dimensione minima effettiva delle tabelle temporanee implicite in memoria utilizzate internamente
durante l'esecuzione della query è min(tmp_table_size, max_heap_table_size), quindi
max_heap_table_size dovrebbe essere grande almeno quanto tmp_table_size.
vecchia versione di mysql
gravità: avvisare
Queste sono le versioni minime consigliate per ciascuna versione principale: 3.23, 4.1.20,
5.0.37, 5.1.30.
versione mysql di fine vita
gravità: nota
Ogni versione precedente alla 5.1 è ora ufficialmente giunta al termine del suo ciclo di vita.
VERSIONI
Questo strumento accetta argomenti aggiuntivi della riga di comando. Fare riferimento alla "SINOSSI" e all'uso
informazioni per i dettagli.
--chiedi-passa
Richiedi una password durante la connessione a MySQL.
--set di caratteri
forma breve: -A; tipo: stringa
Set di caratteri predefinito. Se il valore è utf8, imposta il binmode di Perl su STDOUT su utf8,
passa l'opzione mysql_enable_utf8 a DBD::mysql ed esegue SET NAMES UTF8 dopo
connessione a MySQL. Qualsiasi altro valore imposta binmode su STDOUT senza il livello utf8,
ed esegue SET NAMES dopo la connessione a MySQL.
--config
tipo: array
Leggi questo elenco separato da virgole di file di configurazione; se specificato, questo deve essere il primo
opzione sulla riga di comando.
--demonizzare
Inforcare sullo sfondo e staccare dal guscio. Solo sistemi operativi POSIX.
--Banca dati
forma breve MrGreen ; tipo: stringa
Connettiti a questo database.
--file-default
forma breve: -F; tipo: stringa
Leggi solo le opzioni mysql dal file specificato. Devi dare un percorso assoluto.
--Aiuto
Mostra aiuto ed esci.
--ospite
forma breve: -h; tipo: stringa
Connettiti all'host.
--ignora-regole
tipo: hash
Ignora questi ID regola.
Specificare un elenco separato da virgole di ID regola (ad esempio LIT.001,RES.002, ecc.) da ignorare.
--parola d'ordine
forma breve: -p; tipo: stringa
Password da utilizzare durante la connessione. Se la password contiene virgole, devono essere sfuggite
con una barra rovesciata: "esame\,ple"
--pid
tipo: stringa
Crea il file PID specificato. Lo strumento non si avvia se il file PID esiste già e
il PID che contiene è diverso dal PID corrente. Tuttavia, se il file PID
esiste e il PID che contiene non è più in esecuzione, lo strumento sovrascriverà il PID
file con il PID corrente. Il file PID viene rimosso automaticamente alla chiusura dello strumento.
--porta
forma breve: -P; tipo: int
Numero di porta da utilizzare per la connessione.
--set-var
tipo: array
Imposta le variabili MySQL in questo elenco separato da virgole di coppie "variabile=valore".
Per impostazione predefinita, lo strumento imposta:
wait_timeout=10000
Le variabili specificate nella riga di comando sovrascrivono questi valori predefiniti. Per esempio,
specificando "--set-vars wait_timeout=500" si sovrascrive il valore predefinito di 10000.
Lo strumento stampa un avviso e continua se non è possibile impostare una variabile.
--presa
forme brevi; tipo: stringa
File socket da utilizzare per la connessione.
--fonte-di-variabili
tipo: stringa; predefinito: mysql
Leggi "MOSTRA VARIABILI" da questa fonte. I valori possibili sono "mysql", "none" o un file
nome. Se viene specificato "mysql", è necessario specificare anche un DSN sulla riga di comando.
--utente
forma breve: -u; tipo: stringa
Utente per il login se non utente corrente.
--verboso
forma breve: -v; cumulativo: sì; predefinito: 1
Aumentare la verbosità dell'output. Al livello di dettaglio predefinito, il programma stampa
solo la prima frase della descrizione di ciascuna regola. Ai livelli più alti, il programma
stampa una parte maggiore della descrizione.
--versione
Mostra la versione ed esci.
--[no]verifica-versione
predefinito: sì
Controlla la versione più recente di Percona Toolkit, MySQL e altri programmi.
Questa è una funzione standard di "verifica automatica degli aggiornamenti", con due aggiuntivi
caratteristiche. Innanzitutto, lo strumento controlla la versione di altri programmi sul sistema locale in
oltre alla propria versione. Ad esempio, controlla la versione di ogni server MySQL
si connette a Perl e al modulo Perl DBD::mysql. In secondo luogo, controlla e avverte
sulle versioni con problemi noti. Ad esempio, MySQL 5.5.25 aveva un bug critico e
è stato ripubblicato come 5.5.25a.
Eventuali aggiornamenti o problemi noti vengono stampati su STDOUT prima del normale output dello strumento.
Questa caratteristica non dovrebbe mai interferire con il normale funzionamento dello strumento.
Per maggiori informazioni visita .
DSN VERSIONI
Queste opzioni DSN vengono utilizzate per creare un DSN. Ogni opzione è data come "opzione=valore".
Le opzioni fanno distinzione tra maiuscole e minuscole, quindi P e p non sono la stessa opzione. Non ci può essere
spazio bianco prima o dopo "=" e se il valore contiene spazi bianchi deve essere citato.
Le opzioni DSN sono separate da virgole. Vedi la manpage di percona-toolkit per tutti i dettagli.
· A
dsn: set di caratteri; copia: sì
Set di caratteri predefinito.
· D
dsn: banca dati; copia: sì
Banca dati predefinita.
F
dsn: mysql_read_default_file; copia: sì
Leggi solo le opzioni predefinite dal file dato
· H
dsn: ospite; copia: sì
Connettiti all'host.
· P
dsn: password; copia: sì
Password da utilizzare durante la connessione. Se la password contiene virgole, devono essere sfuggite
con una barra rovesciata: "esame\,ple"
· P
dsn: porta; copia: sì
Numero di porta da utilizzare per la connessione.
· S
dsn: mysql_socket; copia: sì
File socket da utilizzare per la connessione.
· tu
dsn: utente; copia: sì
Utente per il login se non utente corrente.
AMBIENTE
La variabile di ambiente "PTDEBUG" abilita l'output di debug dettagliato su STDERR. Abilitare
eseguire il debug e acquisire tutto l'output in un file, eseguire lo strumento come:
PTDEBUG=1 consulente-variabile-pt ... > FILE 2>&1
Fai attenzione: l'output di debug è voluminoso e può generare diversi megabyte di output.
SISTEMA REQUISITI
Hai bisogno di Perl, DBI, DBD::mysql e alcuni pacchetti di base che dovrebbero essere installati in qualsiasi
versione ragionevolmente nuova di Perl.
Utilizza pt-variable-advisorp online utilizzando i servizi onworks.net