Elenco completo delle opzioni di mysqld

Stai visualizzando una vecchia versione di questo article. Visualizza la versione più recente.

Questa pagina elenca tutte le opzioni di mysqld.

Opzioni di compatibilità

Le opzioni seguenti sono state aggiunte a MariaDB per aumentare la compatibilità con le vecchie versioni di MySQL e di MariaDB stesso:

OpzioneSpiegazione
-a, --ansiUsa la sintassi ANSI SQL invece della sintassi di MySQL. Imposta anche il transaction level a 'serializable'.
--newUsa le nuove funzionalità che esisteranno nella prossima versione di MariaDB. Questa opzione facilita l'upgrade. Nella versione 5.1 abilita le funzioni di partizionamento LIST e RANGE in ndbcluster.
--oldFa sì che alcune funzionalità abbiano un comportamento compatibile con la versione precedente. In MariaDB 5.1 questo significa usare il vecchio modo di calcolare i checksum dei record, che è compatibile con MySQL 5.1. Se si specifica --old, CHECKSUM TABLE effettua sempre una scansione completa della tabella.
--old-alter-tableUsa un alter table vecchio, non ottimizzato.
--old-passwordsUsa il vecchio metodo di crittografia delle password (necessario per client 4.0 o più vecchi).
--old-style-user-limitsAbilita le limitazioni per l'utente nel vecchio modo (prima di 5.0.3, le risorse-utente venivano conteggiate per ogni user+host e non per account).
--safe-modeDisabilita alcune ottimizzazioni potenzialmente poco sicure. In 5.2 significa: INSERT DELAYED disabilitato, myisam_recover_options impostato a DEFAULT (recupera automaticamente i file di MyISAM dopo un crash) e cache delle query disabilitata. Per le tabelle Aria, disabilita le l'ottimizzazione delle insert di massa, così che si possa recuperare le tabelle tramite use maria_read_log anche dopo che sono state cancellate (utile per il recupero dopo i test).
--skip-newDisabilita --new in 5.2. In 5.1 disabilita alcune nuove funzioni potenzialmente poco sicure.

Opzioni di replica

OpzioneSpiegazioneIntrodotta in   
--abort-slave-event-count=# Opzione usata da mysql-test per il debug e il test della replica.
--auto-increment-increment[=#]Le colonne auto-increment hanno questo incremento.
--auto-increment-offset[=#]L'offset aggiunto alle colonne auto-increment. Usato se auto-increment-increment != 1.
--binlog-annotate-rows-eventsScrive Annotate_rows eventi nel log binario.MariaDB 5.3
--binlog-direct-non-transactional-updatesFa sì che gli aggiornamenti alle tabelle che usano Storage Engine e che usano il logging basato sulle istruzioni scrivano direttamente nel log binario. Prima di usare questa opzione occorre accertarsi che non vi siano dipendenze fra tabelle transazionali e non transazionali, come l'istruzione INSERT INTO t_myisam SELECT * FROM t_innodb; altrimenti, gli slave potrebbero finire per avere dati differenti dal master.
--binlog-do-db=nomeDice al master di loggare gli aggiornamenti dei database specificati e di escludere tutti gli altri.
--binlog-ignore-db=nomeDice al master che gli aggiornamenti del database specificato non devono essere registrati nel log binario.
--binlog-row-event-max-size=# Le dimensioni massime, in byte, degli eventi del log binario. Le righe saranno raggruppate in eventi di dimensioni inferiori a questo limite, se possibile. Il valore deve essere un multiplo di 256.
--binlog_cache_size=# Le dimensioni della cache che deve contenere le istruzioni SQL per il log binario durante una transazione. Se si usano spesso transazioni grandi, composte da più istruzioni, è bene incrementare questo valore per ottenere prestazioni migliori.
--binlog_format=nomeHa effetto solo con '--log-bin'. Indica al master il tipo di logging da usare: può essere 'row' per il logging basato sulle righe, 'statement' per il logging basato sulle istruzioni, o 'mixed'. 'mixed' è basato sulle istruzioni, fatta eccezione per quei comandi che possono essere registrati correttamente solo basandosi sulle righe: istruzioni che contengono le funzioni definite dall'utente (UDF) o la funzione UUID().
--disconnect-slave-event-count=# Opzione usata da mysql-test per il debug e il test della replica.
--init-rpl-role=nomeImposta il ruolo nella replica.
--init-slave=nomeComando/i eseguito dallo slave ogni volta che il thread slave si avvia.
--log-basename=nomeIl nome base dei file di log e del file .pid. Serve a impostare in una sola volta i nomi di tutti i file di log (in 'datadir') e normalmente è l'unica opzione necessaria per specificare i file di log. Il suo utilizzo è raccomandato soprattutto se si utilizza la replica, perché assicura che i nomi dei file di log non dipendano dal nome dell'host. Imposta i nomi per --log-bin, --log-bin-index, --relay-log, --relay-log-index, --general-log-file, --log-slow-query-log-file, --log-error-file e --pid-file.MariaDB 5.2
--log-bin[=nome]Logga le istruzioni che scrivono dati in formato binario. L'argomento opzionale deve essere il nome del log. Se non è specificato, verrà usato datadir/'log-basename'-bin o 'datadir'/mysql-bin (il secondo solo se --log-basename non è specificato). Si raccomanda caldamente di usare --log-basename o specificare un nome file per essere sicuri che la replica non si arresti nel caso in cui il nome host del server cambi.
--log-bin-index=nomeFile che contiene i nomi dei file di log binario più recenti.
--log-bin-trust-function-creatorsSe è uguale a 0 (predefinito), e viene usato --log-bin, la creazione delle Stored Function (o trigger) è permessa solo agli utenti che dispongono del privilegio SUPER, e solo per le Stored Function (o trigger) che non possono corrompere il log binario. Si noti che se TUTTE le connessioni sul server usano SEMPRE il log binario, non vi sono problemi di sicurezza e il log non può corrompersi, perciò si può impostare traquillamente questa variabile a 1.
--log-bin-trust-routine-creators(deprecato) Si usi log-bin-trust-function-creators.
--master-host=nomeIl nome host o l'IP del master. Se non è impostato, il thread slave non si avvia. Si noti che, se esiste un file master.info valido, l'impostazione di master-host viene ignorata.
--master-info-file=nomePercorso e nome del file che tiene traccia del master e dove si trova il thread I/O della replica nei binlog del master.
--master-password=nomeLa password usata dal thread slave per l'autenticazione quando si connette al master. Se non è impostato, usa una password vuota. Il valore scritto in master.info ha la precedenza.
--master-port=# La porta usata dal master. Se non è impostato, viene usato il valore compilato di MYSQL_PORT. Se non si sono modificate le opzioni di configure, dovrebbe essere 3306. Il valore scritto in master.info ha la precedenza.
--master-retry-count=Per quante volte lo slave tenta di connettersi al master prima di rinunciare.
--master-sslAbilia la connessione SSL tra lo slave e il master.
--master-ssl-ca[=nome]Il file CA SSL del master. Ha effetto solo se si abilita master-ssl.
--master-ssl-capath[=nome]Il percorso CA SSL del master. Ha effetto solo se si abilita master-ssl.
--master-ssl-cert[=nome]Il file del certificato SSL del master. Ha effetto solo se si abilita master-ssl.
--master-ssl-cipher[=nome]La cifratura SSL del master. Ha effetto solo se si abilita master-ssl.
--master-ssl-key[=nome]Il file delle chiavi SSL del master. Ha effetto solo se si abilita master-ssl.
--master-user=nomeIl nome utente che verrà usato dal thread slave nel connettersi al master. L'utente deve disporre del privilegio FILE. Se non è impostato, verrà usato l'utente test. Il valore in master.info ha la precedenza.
--max-binlog-dump-events=# Opzione usata da mysql-test per il debug e il test della replica.
--max-relay-log-size=# Se è diverso da zero: il relay log ruota automaticamente quando le sue dimensioni superano il valore indicato; Se è zero (predefinito): la rotazione avviene quando le dimensioni superano max_binlog_size. Il valore di questa variabile può essere 0, o raggiungere un massimo di 4096.
--relay-log=nomeLa rotazione e il nome da usare per i file del relay log.
--relay-log-index=nomeIl percorso e il nome da usare per il file che contiene un elenco dei file recenti del relay log.
--relay-log-info-file=nomeIl percorso e il nome del file che tiene traccia della posizione del thread SQL nel relay log.
--relay_log_purge0 = non eliminare i relay log. 1 = cancellali appena non sono più necessari.
--relay_log_space_limit=# Spazio massimo usabile da tutti i relay log.
--replicate-annotate-rows-eventsDice allo slave di riprodurre gli eventi Annotate_rows ricevuti dal master nel suo log binario. Questa opzione funziona solo se usata in coppia con log-slave-updates.MariaDB 5.3
--replicate-do-db=nomeDice al thread slave di limitare la replica al database specificato. Per indicare più di un database, si ripeta più volte l'opzione, una volta per ogni database. Si noti però che funziona solo se non si usano query multi-database, come ad esempio UPDATE un_db.una_tabella SET foo='bar' quando un altro database è selezionato. Se si ha bisono di usare istruzioni su più database, ci si accerti di usare la versione 3.23.28 o successive e si usi replicate-wild-do-table=nome_db.%.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--replicate-do-table=nomeDice al thread slave di limitare la replica alla tabella specificata. Per specificarne più d'una si può ripetere l'opzione più volta, una volta per ogni tabella. Ciò funziona anche con gli aggiornamenti multi-tabella, a differenza di replicate-do-db.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--replicate-events-marked-for-skipQuesta opzione dice allo slave di replicare gli eventi segnati con il flag @@skip_replication. Si veda Saltare selettivamente la replica degli eventi del binlog per i dettagli.MariaDB 5.5.21
--replicate-ignore-db=nomeDice al thread slave di non replicare il database specificato. Per specificarne più d'uno si può ripetere l'opzione più volta, una volta per ogni database. Questa opzione non funziona con gli update multi-database. Se si ha bisono di usare istruzioni su più database, ci si accerti di usare la versione 3.23.28 o sucessive e si usi replicate-wild-ignore-table=nome_db.%.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--replicate-ignore-table=nomeDice al thread slave di non replicare la tabella specificata. Per specificarne più d'una si può ripetere l'opzione più volta, una volta per ogni tabella. TCiò funziona anche con gli aggiornamenti multi-tabella, a differenza di replicate-ignore-db.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--replicate-rewrite-db=nomeScrive su un database con un nome differente rispetto a quello originale. Esempio: replicate-rewrite-db=nome_db_master->nome_db_slave.
--replicate-same-server-idSe è impostato a 1, non ignora gli eventi che hanno lo stesso server id della macchina in uso. Il valore predefinito è 0 (per evitare i cicli infiniti nella replica). Se si usa --log-slave-updates, non si può impostare questa variabile a 1.
--replicate-wild-do-table=nomeDice al thread slave di limitare la replica alle tabelle il cui nome corrisponde al pattern indicato. Per specificarne più d'uno si ripeta l'opzione più volte, una volta per ogni pattern. Ciò funziona anche con gli update multi-database. Esempio: replicate-wild-do-table=foo%.bar% replica solo le istruzioni sulle tabelle il cui database d'appartenenza inizia con foo e in cui il nome della tabella inizia con bar.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--replicate-wild-ignore-table=nomeDice al thread slave di non replicare le tabelle il cui nome corrisponde al pattern indicato. Per specificarne più d'uno si ripeta l'opzione più volte, una volta per ogni pattern. Ciò funziona anche con gli update multi-database. Esempio: replicate-wild-ignore-table=foo%.bar% non replica le tabelle il cui database d'appartenenza inizia con foo e in cui il nome della tabella inizia con bar.

A partire da MariaDB 5.5.22 questa variabile è dinamica.
--report-host=nomeNome host o indirizzo IP da comunicare al master durante la registrazione. Appare nell'output di SHOW SLAVE HOSTS. Se non si desidera che lo slave si registri nel master, si lasci vuota questa opzione. Si noti che, per il master, non è sufficiente leggere l'IP dello slave dal socket dopo la connessione. A causa di NAT e altri problemi relativi al routing, l'IP potrebbe non essere valido per la connessione allo slave da parte del master o di altri host.
--report-password=nomeNon documentato.
--report-port=# Porta per connettersi allo slave che viene segnalato al master durante la registrazione. Deve essere impostato solo se lo slave è in ascolto su una porta diversa da quella predefinita o se si usa un tunnel particolare dal master o da altri client verso lo slave. In caso di incertezza, è meglio non usare questa opzione.
--report-user=nameNon documentato.
--rpl-recovery-rank=# Non documentato e inutilizzato.
--server-id=# Identificazione univoca dell'istanza del server nella comunità dei partner di replica.
--skip-replicationSe è true, gli eventi saranno registrati nel log binario con il flag @@skip_replication. Tali eventi non verranno replicati dagli slave che sono eseguiti con l'opzione --replicate-events-marked-for-skip impostata con un valore diverso dal default di REPLICATE. Si veda la pagina Saltare selettivamente la replica degli eventi del binlog Per i dettagli.MariaDB 5.5.21
--slave-exec-mode=nomeLe modalità in cui gli eventi della replica devono essere eseguiti. I valori ammessi sono STRICT (predefinito) e IDEMPOTENT. In modalità IDEMPOTENT, la replica non si arresta per le operazioni idempotenti. In modalità STRICT, la replica si ferma ogni volta che trova una differenza inaspettata tra il master e lo slave.
--slave-load-tmpdir=nomeIl percorso in cui lo slave scrive i file temporanei quando replica un comando LOAD DATA INFILE.
--slave-skip-errors=nameDice al thread slave di non fermare la replica nel caso in cui una query restituisce uno degli errori specificati nell'elenco.
--slave_compressed_protocolUsa la compressione nel protocollo master/slave.
--slave_net_timeout=# Timeout (in secondi) quando si leggono dati da una connessione master/slave, prima di abortirla.
--slave_transaction_retries=# Quante volte il thread SQL deve ritentare una transazione nel caso in cui questa fallisca con un deadlock o raggiunge il timeout, prima di rinunciare e arrestarsi.
--sporadic-binlog-dump-failOpzione usata da mysql-test per il debug e il test della replica.
--sysdate-is-nowOpzione (disattivata per default) per trattare SYSDATE() come un alias di NOW(), in modo che si possa replicare in modo sicuro. A partire dalla versione 5.0, infatti, SYSDATE() restituisce un valore 'dinamico', che è diverso per ogni invocazione, anche all'interno della stessa istruzione.

Opzioni dell'ottimizzatore

OpzioneSpiegazione
--big-tablesRende possibili grandi insiemi di risultati salvandoli in un file (risolve la maggior parte degli errori 'table full').
--bulk_insert_buffer_size=# Dimensioni della cache dell'albero usata dall'ottimizzazione delle bulk insert. Si noti che questo limite è impostato per thread.
--join_buffer_size=# Le dimensioni del buffer delle full join.
--max_heap_table_size=# Non permette la creazione di tabelle heap con dimensioni maggiori del valore specificato.
--max_join_size=# Le join le cui dimensioni probabilmente supereranno il valore di max_join_size restituiscono un errore.
--max_sort_length=# Numero di byte da usare per l'ordinamento dei valori BLOB e TEXT (per ogni singolo valore, vengono usati solo i primi max_sort_length bytes; il resto viene ignorato).
--optimizer_prune_level[=#]Controlla le euristiche applicate durante l'ottimizzazione delle query per escludere i piani parziali meno promettenti. Significato: 0 - non applica alcuna euristica, esegue una ricerca esaustiva; 1 - esclude i piani peggiori basandosi sul numero di righe che dovrebbero essere restituite.
--optimizer_search_depth[=#]Massima profondità di ricerca che l'ottimizzatore può eseguire. I valori maggiori del numero di relazioni presenti nei risultati della query corrispondono a piani migliori, ma compilare la query richiede più tempo. I valori più piccoli del numero di tabelle presenti nella relazione corrispondono a un'ottimizzazione più rapida, ma potrebbero produrre dei pessimi piani. Se è impostato a 0, il sistema cerca automaticamente un valore ragionevole; se è impostato a MAX_TABLES+2, l'ottimizzatore passa al find_best originale (utilizzato per il test e la comparazione).
--optimizer_switch=nomeoptimizer_switch=opzione=val[,opzione=val...], dove opzione={index_merge, index_merge_union, index_merge_sort_union, index_merge_intersection} e val={on, off, default}.
--query_alloc_block_size=# Dimensioni dei blocchi aggiuntivi, che vengono allocati dopo aver raggiunto query_prealloc_size, durante il parsing e l'esecuzione delle query.
--query_prealloc_size=# Buffer persistente per il parsing e l'esecuzione delle query. Viene allocato all'apertura della connessione e liberato alla sua chiusura.
--range_alloc_block_size=# Dimensioni dei blocchi in cui vengono scritti gli intervalli durante l'ottimizzazione.
--read_buffer_size=# Ogni thread che esegue una scansione sequenziale, allora un bufferdelle dimensioni specificate per ogni tabella letta. Se si intende eseguire molte scansioni sequenziali, potrebbe essere preferibile incrementare questo valore.
--record_buffer=# Sinonimo di read_buffer_size. Questa variabile è deprecata e verrà rimossa in una versione futura.
--table_cache=# Deprecata; si usi --table_open_cache.
--table_definition_cache=# Numero di definizioni delle tabelle presenti nella cache.
--table_open_cache=# Numero di tabelle aperte presenti nella cache.
--tmp_table_size=# Se le dimensioni di una tabella temporanea interna superano questo limite, MariaDB le converte automaticamente in una tabella MyISAM/Aria sy disco.

Opzioni per il debug di mysqld

OpzioneSpiegazioneIntrodotta in
--consoleScrive gli errori su schermo; non nasconde la finestra della console su windows.
--core-fileScrive il core egli errori.
-#, --debug[=nome]Usa il logging attraverso la libreria DBUG. Usando solo --debug si scrive solo il trace di ciò che mysqld sta facendo, in /tmp/mysqld.trace.
--debug-assert-if-crashed-tableAggiunge un assert in handler::print_error() per vedere se una tabella è crashata.
-debug-crc-break=# Chiama my_debug_put_break_here() se crc è uguale a questo numero (per il debug).
--debug-flushIl log del debug predefinito con il flush dopo la scrittura.
--debug-sync-timeout[=#]Abilita il meccanismo di sync per il debug e opzionalmente specifica un timeout predefinito in secondi. Il valore zero disabilita il meccanismo.
--gdbImpostai segnali usabili per il debug debugging.
--sync-sys Abilita/disabilita le chiamate a sync di sistema. I sync andrebbero disattivati (--disable-sync-sys) solo quando si eseguono i test o il debug!
--thread-alarmAbilita/disabilia le chiamate ad alarm dei thread di sistema. Andrebbe disabilitato (--disable-thread-alarm) solo quando si eseguono i test o il debug!MariaDB 5.3
--binlog_dbug_fsync_sleep=# Se è diverso da zero, rappresenta il numero di microsecondi di attesa dopo l'esecuzione di fsync() sul log binario, prima di eseguire il flush delle transazioni su disco. Può essere utilizzato per incrementare artificialmente il costo percepito di fsync().MariaDB 5.3

Opzioni di MyISAM

OpzioneSpiegazione
--concurrent-insert[=#]Usa le insert concorrenti con MyISAM. Si disabilita con --concurrent-insert=0.
--delay-key-write-for-all-tablesNon esegue il flush dei buffer delle chiavi tra una scrittura e l'altra per le tabelle MyISAM. Deprecata, si usi --delay-key-write=all.
--delayed_insert_limit=# Dopo aver inserito delayed_insert_limit righe, l'handler di INSERT DELAYED verifica se ci sono istruzioni SELECT in attesa. Se è così, ne permette l'esecuzione prima di continuare.
--delayed_insert_timeout=# Specifica quanto a lungo il thread INSERT DELAYED deve aspettare il completamento delle istruzioni INSERT prima di terminare.
--delayed_queue_size=# Quante righe possono essere messe in coda per gestire INSERT DELAYED. Se la cosa è piena, ogni client che esegue INSERT DELAYED dovrà attendere che questa si liberi.
--external-lockingUsa il lock di sistema (estedno) - disabilitato per default. Se questa opzione è abilitata, si può eseguire myisamchk per testare (non riparare) le tabelle anche mentre il server è in esecuzione. Si disabilita con --skip-external-locking.
--keep_files_on_createNon sovrascrive i vecchi file .MYD e .MYI anche se non è stata specificata alcuna directory.
--key_buffer_size=# Le dimensioni del buffer usato per i blocchi degli indici delle tabelle MyISAM. Incrementandolo fino a dove è possibile, si migliora la gestione degli indici per tutte le letture e le scritture multiple; 1GB su una macchina da 4GB che esegue principalmente MariaDB è abbastanza comune.
--key_cache_age_threshold=# Indica per quante volte un blocco "hot" non deve essere toccato, prima che venga considerato abbastanza vecchio da essere retrocesso a "warm". E' una percentuale sul numero di accessi eseguiti sulla totalità dei blocchi presenti nella cache degli indici.
--key_cache_block_size=# Le dimensioni predefinite dei blocchi della cache degli indici.
--key_cache_division_limit=# La percentuale minima dei blocchi "warm" nella cache degli indici.
--log-isam[=nome]Registra le modifiche alle tabelle MyISAM nel file indicato.
--myisam-recover[=nome]Sintassi: myisam-recover[=opzione[, opzione...]], dove opzione può essere: DEFAULT, BACKUP, BACKUP_ALL (nuovo in 5.1.51) FORCE o QUICK.
--myisam_block_size=# Dimensione dei blocchi da usare per le pagine degli indici MyISAM.
--myisam_data_pointer_size=# Dimensioni predefinite del puntatore da usare per le tabelle MyISAM.
--myisam_max_extra_sort_file_size=# Questa opzione è deprecata e non ha alcun effetto. Verrà eliminata in MySQL 5.6
--myisam_max_sort_file_size=# Non usa il metodo fast sort per creare gli indici se il file temporaneo necessario per farlo è più grande del valore indicato.
--myisam_mmap_size=# Si può usarla per limitare la memoria totale usata per l'mmap dei file di MyISAM.
--myisam_repair_threads=# Specifica se deve essere usato più di un thread per riparare le tabelle MyISAM. Se il valore è > 1, viene usato un thread per ogni indice. Il valore 1 disabilita la riparazione parallela.
--myisam_sort_buffer_size=# Il buffer allocato per ordinare gli indici durante un REPAIR o durante la creazione di indici con CREATE INDEX o ALTER TABLE.
--myisam_stats_method=nomeSpecifica in che modo le statistiche degli indici di MyISAM devono considerare i valori NULL. I valori possibili sono: "nulls_unequal" (predefinito in 4.1/5.0), "nulls_equal" (per emulare 4.0) e "nulls_ignored".
--myisam_use_mmapUsa la mappatura della memoria (mmap) per leggere e scrivere le tabelle MyISAM.

Opzioni di InnoDB

OpzioneValore predefinitoSpiegazione
--innodbONDetermina se lo Storage Engine InnoDB debba essere caricato o meno. I valori ammessi sono: ON, OFF e FORCE.
--innodb-adaptive-checkpointestimate
--innodb-adaptive-flushingFALSEDetermina se viene usato il flush adattivo per decidere quando scuotare le pagine della cache del buffer sporco.
--innodb-adaptive-hash-indexTRUEAbilita o disabilita gli indici hash adattivi di InnoDB.
--innodb-additional-mem-pool-size8388608Dimensioni (in byte) del memory pool usato da InnoDB per le strutture dati interne (comprese le informazioni per il data dictionary). I valori ammessi vanno da 2097152 a 4294967295.
--innodb-auto-lru-dump0
--innodb-autoextend-increment8Le dimensioni (in MB) dell'incremento per estendere automaticamente il file condiviso dei tablespace. Non ha effetto sui file dei tablespace per-tabella, se si usa --innodb_file_per_table=1.
--innodb-autoinc-lock-mode1Imposta la modalità di lock da usare per generarei valori autoincrementali. I valori ammessi sono 0 (tradizionale), 1 (consecutivo) e 2 (interleaved).
--innodb-buffer-pool-pagesON
--innodb-buffer-pool-pages-blobON
--innodb-buffer-pool-pages-indexON
--innodb-buffer-pool-shm-checksumTRUE
--innodb-buffer-pool-shm-key0
--innodb-buffer-pool-size134217728Dimensioni (in byte) del memory buffer di InnoDB. I valori ammessi sui sistemi a 32 bit vanno da 1048576 a 232-1. Sui server di database dedicati, normalmente questo valore può essere tranquillamente impostato all'80% della memoria fisica, ma può anche essere più ridotto, a seconda delle caratteristiche della configurazione.
--innodb-change-bufferinginserts
--innodb-checkpoint-age-target0
--innodb-checksumsTRUEDetermina se viene assicurata una maggiore fault tolerance mediante i checksum.
--innodb-cmpON
--innodb-cmp-resetON
--innodb-cmpmemON
--innodb-cmpmem-resetON
--innodb-commit-concurrency0Imposta il numero di thread che possono eseguire un commit allo stesso tempo. '0' permette un qualsiasi numero di commit in contemporanea.
--innodb-concurrency-tickets500Il numero di "permessi" assegnati ai singoli thread, che possono essere usati per entrare e uscire da InnoDB senza essere soggetto a controlli di concorrenza e inserito in una coda.
--innodb-data-file-path(Nessun valore predefinito)Il percorso dei file dei dati.
--innodb-data-home-dir(Nessun valore predefinito)La parte condivisa del percorso dei file dei dati.
--innodb-dict-size-limit0
--innodb-doublewriteTRUE
--innodb-doublewrite-file(Nessun valore predefinito)
--innodb-enable-unsafe-group-commit0
--innodb-expand-import0
--innodb-extra-rsegments0
--innodb-extra-undoslotsFALSE
--innodb-fast-checksumFALSE
--innodb-fast-recoveryFALSE
--innodb-fast-shutdown1I valori ammessi sono: '0' (arresto lento con pulizia completa e fusione del buffer delle insert), '1' (arresto rapido senza pulizia e fusione) e '2' (flush dei log e uscita secca, come se MariaDB avesse crashato). innodb_fast_shutdown=2 andrebbe usato solo in situazioni di emergenza (per esempio se i dati sono a rischio corruzione e occorre arrestare il server il più presto possibile).
--innodb-file-formatAntelopeIl formato dei file da usare per le nuove tabelle InnoDB. I valori ammessi sono 'Antelope' e 'Barracuda'.
--innodb-file-format-checkBarracuda
--innodb-file-io-threads4
--innodb-file-per-tableFALSESe disabilitato, InnoDB crea le tabelle nel tablespace di sistema. Se abilitato, InnoDB crea ogni nuova tabella in un file .ibd.
--innodb-flush-log-at-trx-commit1I valori ammessi sono: '0' (scrive il buffer del log nel file di log una volta al secondo e al commit delle transazioni esegue il flush su disco ma non fa nulla), '1' (scrive il buffer del log nel file di log ed esegue il flush su disco ad ogni commit) e '2' (scrive il buffer del log nel file di log ad ogni commit, ma esegue il flush su disco una volta al secondo). Per l'aderenza ad ACID occorre usare l'opzione '1'.
--innodb-flush-log-at-trx-commit-session3
--innodb-flush-method(Nessun valore predefinito)I valori ammessi sono 'O_DSYNC' e 'O_DIRECT'. E' utile solo su Linux e Unix. Su Windows, la modalità di flush è sempre 'async_unbuffered'.
--innodb-flush-neighbor-pages1
--innodb-force-recovery0I valori ammessi sono: '0', '1', '2', '3', '4', '5' e '6'.
--innodb-ibuf-accel-rate100
--innodb-ibuf-active-contract1
--innodb-ibuf-max-size9223372036854775807
--innodb-index-statsON
--innodb-io-capacity200Sui sistemi a 32 bit, i valori possibili danno da 100 a 232-1 (2**32-1). Sui sistemi a 64 bit, i valori possibili vanno da 100 a 264-1 (2**64-1). Questo valore deve essere impostato approssimativamente al numero di operazioni I/O che il sistema può eseguire in un secondo.
--innodb-lazy-drop-table0
--innodb-lock-wait-timeout50Per quanto tempo (in secondi) le transazioni InnoDB attendono prima di rinunciare. Possible values range from '1' to '1073741824'.
--innodb-lock-waitsON
--innodb-locksON
--innodb-locks-unsafe-for-binlogFALSE
--innodb-log-block-size512
--innodb-log-buffer-size8388608Dimensioni (in byte) del buffer usato per scrivere i file di log su disco. I valori possibili vanno da '262144' a '4294967295'.
--innodb-log-file-size5242880Le dimensioni (in byte) di ogni file di log nei gruppi di log. I valori possibili vanno da '108576' a '4294967295'.
--innodb-log-files-in-group2Il numero di file di log in un gruppo. I valori possibili vanno da '2' a '100'.
--innodb-log-group-home-dir(Nessun valore predefinito)Percorso dei file di log di redo di InnoDB. Il default (se non viene impostato un valore) equivale alla directory dei dati.
--innodb-max-dirty-pages-pct75I valori possibili vanno da '0' a '99'. InnoDB tenta di scrivere le pagine dal buffer pool, in modo che la percentuale di pagine sporche (non ancora scritte) non ecceda questo valore.
--innodb-max-purge-lag0Indica in che modo le operazioni INSERT, UPDATE e DELETE devono essere ritardate. '0' significa "nessun ritardo".
--innodb-mirrored-log-groups1Quante copie identiche dei gruppi di log devono essere mantenute. Deve essere impostato a '1'.
--innodb-old-blocks-pct37La percentuale del buffer pool da usare per la sottolista dei vecchi blocchi. I valori possibili vanno da '5' a '95'.
--innodb-old-blocks-time0Per quanto tempo (in milliseconds) un blocco non ancora inserito deve rimanere nella vecchia sottolista dopo il primo accesso, prima che possa essere spostato nella nuova sottolista. '0' significa "nessun ritardo". I valori possibili vanno da '0' a '232-1' (2**32-1).
--innodb-open-files300Il numero massimo di file .ibd che InnoDB può matenere simultaneamente. I valori possibili vanno da '10' a '4294967295'. Ha effetto solo se si usano i tablespace multipli.
--innodb-overwrite-relay-log-infoFALSE
--innodb-page-size16384
--innodb-pass-corrupt-table0
--innodb-read-aheadlinear
--innodb-read-ahead-threshold56I valori possibili vanno da '0' a '64'. Il valore predefinito '56' significa che InnoDB deve leggere almeno 56 pagine sequenzialmente prima di iniziare una lettura asincrona.
--innodb-read-io-threads4Numero di thread I/O per le operazioni di lettura di InnoDB. I valori possibili vanno da '1' a '64'.
--innodb-recovery-statsFALSE
--innodb-replication-delay0Il ritardo del thread della replica (in millisecondi) su uno slave se viene raggiunto innodb_thread_concurrency. I valori possibili vanno da '0' (nessun ritardo) a '4294967295'.
--innodb-rollback-on-timeoutFALSE
--innodb-rsegON
--innodb-show-locks-held10
--innodb-show-verbose-locks0
--innodb-spin-wait-delay6
--innodb-stats-auto-update1
--innodb-stats-methodnulls_equalDetermina in che modo le statistiche sulla distribuzione dei valori negli indici delle tabelle InnoDB devono considerare i valori NULL. I valori ammessi sono 'nulls_equal', 'nulls_unequal' e 'nulls_ignored'.
--innodb-stats-on-metadataTRUEDetermina se le statistiche debbano essere aggiornate o meno durante le istruzioni che riguardano metadati (per esempio SHOW TABLE STATUS e SHOW INDEX) e quando bisogna accedere alle tabelle INFORMATION_SCHEMA.TABLES e INFORMATION_SCHEMA.STATISTICS tables.
--innodb-stats-sample-pages8Numero delle pagine degli indici da prendere a campione quando si calcolano le statistiche sulla distribuzione degli indici. I valori possibili vanno da '1' a '264-1' (2**64-1).
--innodb-stats-update-need-lock1
--innodb-status-fileFALSE
--innodb-strict-modeFALSEDetermina se in certe condizioni debbano essere restituiti degli errori invece dei warning. Questa opzione è analoga alla modalità SQL strict.
--innodb-support-xaTRUEDetermina se i commit per le transazioni XA debbano avvenire in due fasi (questa procedura implica più flush sul disco per la preparazione del trasporto).
--innodb-sync-spin-loops30Per quanto tempo i thread devono attendere che un mutex di InnoDB venga rilasciato, prima che il thread sia sospeso. I valori possibili vanno da '0' a '4294967295'.
--innodb-sys-indexesON
--innodb-sys-statsON
--innodb-sys-tablesON
--innodb-table-locksTRUE
--innodb-table-statsON
--innodb-thread-concurrency0InnoDB cerca di utilizzare un numero di thread uguale o inferiore a questo numero. I valori possibili vanno da '0' (nessun controllo sulla concorrenza) a '1000'.
--innodb-thread-concurrency-timer-basedFALSE
--innodb-thread-sleep-delay10000
--innodb-trxON
--innodb-use-purge-thread1
--innodb-use-sys-mallocTRUESe è TRUE, InnoDB usa l'allocatore di memoria del sistema. Se è 'FALSE', InnoDB usa il suo allocatore.
--innodb-use-sys-stats-tableFALSE
--innodb-write-io-threads4Numero di thread I/O per le operazioni di scrittura. I valori possibili vanno da '1' a '64'.

Opzioni di PBXT

Le seguenti variabili di sistema servono a controllare il comportamento dello Storage Engine PBXT.

Queste variabili si possono impostare nel file my.cnf o alla riga di comando di mysqld. Le variabili dinamiche possono essere valorizzate con il comando SET GLOBAL, che viene eseguito nel server. Nell'elenco sotto viene specificato se sono dinamiche o meno.

Le variabili che indicano un numero di byte possono comprendere un'indicazione di unità di misura dopo il valore. Per esempio: 100KB, 64MB, etc. In questo caso, il numero non deve essere seguito da alcuno spazio. Le unità di misura sono case-insensitive (KB = Kb = kb). Se la misura non è specificata, quella predefinita sono i byte. Le misure riconosciute sono:

  • KB (o K) - Kilobyte, 1024 byte
  • MB (o M) - Megabyte, 1024 KB
  • GB (o G) - Gigabyte, 1024 MB
  • TB (o T) - Terabyte, 1024 GB
  • PB (o P) - Petabyte, 1024 TB

Le variabili che usano questo tipo di valori sono: pbxt_index_cache_size, pbxt_record_cache_size, pbxt_log_cache_size, pbxt_log_file_threshold, pbxt_checkpoint_frequency, pbxt_data_log_threshold, pbxt_log_buffer_size, pbxt_data_file_grow_size, and pbxt_row_file_grow_size.

OptionDefault ValueDescription
--pbxtON
--pbxt-max-threads0
--pbxt-statisticsON

Variabili della Cache della Memoria di PBXT

OpzioneValore predefinitoSpiegazione
--pbxt-index-cache-size32MBAmmontare di memoria allocata per la cache degli indici. La memoria così allocata viene usata solo per mettere in cache le pagine degli indici (i file .xti).
--pbxt-record-cache-size32MBAmmontare di memoria allocata per la cache dei record, usata per mettere in cache i dati delle tabelle. Questa memoria viene usata per mettere in cache le modifiche ai file dei dati (.xtd) e degli indici delle righe (.xtr).
--pbxt-log-cache-size16MBAmmontare di memoria allocata per la cache del log delle transazioni, usata appunto per mettere in cache i dati del log delle transazioni (i file xlog-*.xt).

Variabili del gestore delle transazioni di PBXT

OpzioneValore predefinitoSpiegazione
--pbxt-log-file-threshold32MBDimensioni di un file di log delle transazioni (i file xlog-*.xt file) prima che avvenga il "rollover" e venga creato un nuovo file.
--pbxt-transaction-buffer-size1MBDimensioni del buffer del log delle transazioni globale (l'Engine alloca 2 buffer di queste dimensioni). I dati da scrivere nel file del log delle transazioni vengono prima inseriti nel buffer. Siccome il buffer viene svuotato al commit, usarne uno di grandi dimensioni ha senso solo se si hanno transazioni che impiegano molto tempo, oppure molte transazioni eseguite in parallelo.
--pbxt-checkpoint-frequency24MBL'ammontare dei dati scritti nel log delle transazioni prima che venga eseguito un checkpoint.
--pbxt-sweeper-priority0Determina la priorità del thread Sweeper, che rimane in background. I valori ammessi sono: '0' (bassa), '1' (normale) e '2' (alta). Lo Sweeper ha il compito di rimuovere i record e le voci degli indici che sono state eliminate (i record cancellati risultano anche dalle istruzioni UPDATE). Se si accumulano troppi record eliminati, le ricerche diventano più lente. Per questo motivo, sulle macchine con quattro o più core, incrementare la priorità dello Sweeper può migliorare le prestazioni.
--pbxt-auto-increment-mode0Questo parametro determina in che modo PBXT gestisce i valori auto-increment. I valori ammessi sono '0' (standard di MySQL) e '1' (i vecchi ID non vengono mai riutilizzati).

Nella modalità standard di MySQL, è possibile che un valore auto-increment venga riutilizzato. Questo accade quando il valore più alto viene eliminato e MariaDB viene riavviata. Accade perché il prossimo valore auto-increment da generare viene deciso all'avvio in base al valore autoincrementale massimo esistente al momento nella tabella.

In modalità 1, i valori auto-increment non vengono mai riutilizzati perché PBXT incrementa automaticamente l'opzione AUTO_INCREMENT della tabella. La tabella AUTO_INCREMENT viene incrementata di 100. Il file della tabella deve perciò essere scritto su disco, e questo può influenzare le prestazioni.
--pbxt-flush-log-at-trx-commit1Specifica la durabilità delle transazioni che hanno avuto un commit recente. Riducendola, la velocità delle operazioni di scrittura potrebbe essere incrementata.

'0' - La durabilità più bassa: il log delle transazioni non viene scritto nè viene eseguito il flush al commit. In questo caso è possibile perdere delle transazioni se l'eseguibile del server va in crash.
'1' - Piena durabilità: ad ogni commit il log delle transazioni viene scritto e un flush viene eseguito.
'2' - Durabilità media: ad ogni commit il log delle transazioni viene scritto, ma non viene eseguito il flush. In questo caso è possibile perdere delle transazioni se la macchina del server va in crash (per esempio, se manca la corrente).

In tutti i casi, viene eseguito il flush del log delle transazioni almeno una volta al secondo. Questo significa che è possibile perdere solo quelle modifiche ai dati che sono avvenute nell'ultimo secondo.
--pbxt-log-file-count3Numero di file del log delle transazioni da conservare su disco prima che i log non più necessari vengano eliminati, il valore predefinito è 3. Il numero dei file su disco potrebbe superare questo limite se i log sono ancora in lettura.

Se un log delle transazioni è stato letto (cioè il log è offline), verrà riciclato per le nuove modifiche, a meno che il numero di log su disco superi il limite, nel qual caso verrà eliminato. Il riciclaggio dei log è un'ottimizzazione, perché scrivere un file preallocato è più rapido che scrivere alla fine di un file.

Nota: Mac OS X è un'eccezione a questa regola. Su questo sistema i vecchi file di log non vengono riutilizzati, perché scrivere un file preallocato è più lento che scrivere alla fine di un file.
--pbxt-offline-log-function0Indica cosa succede a un log delle transazioni quando è offline. Un log è offline se PBXT non ha più bisogno di leggerlo o di scriverlo. Ci sono tre possibilitaà:

'0' - Riciclare il log (default). Significa che il file viene rinominato e scritto nuovamente.
'1' - Elimina il log (default su Mac OS X).
'2' - Conserva il log. I log possono essere utilizzati per ripetere tutte le operazioni che sono state effettuate sul database.
--pbxt-support-xaTRUEDetermina se XA (con commit a due fasi) è abilitato.

Variabili del log dei dati di PBXT

PBXT registra parte del database nei log dei dati. Perloppiù sono dati provenienti dalle righe che contengono lunghi campi VARCHAR o tipi BLOB. I log dei dati sono gestiti dal thread "compactor". Quando un record viene eliminato da un log, i dati vengono contrassegnati come spazzatura. Quando la spazzatura presente nei log dei dati raggiunge una certa soglia, il thread compactor li compatta copiando i dati validi in un nuovo log e cancellando quelli vecchi.

Le seguenti variabili di sistema controllano la gestione dei log dei dati.

OpzioneValore predefinitoSpiegazione
--pbxt-data-log-threshold64MBDimensioni massime di un file dei log dei dati. PBXT può creare un massimo di 32000 log dei dati, utilizzati da tutte le tabelle. Perciò incrementando il valore di questa variabile si aumenta l'ammontare totale dei dati che possono essere registrati nel database.
--pbxt-log-buffer-size256MBDimensioni del buffer utilizzato per scrivere i data log. L'Engine alloca un buffer per thread, ma solo se è necessario per scrivere un log dei dati.
--pbxt-garbage-threshold50Percentuale di spazzatura che può essere presente in un file del log dei dati prima che questo venga compattato. Questo valore può andare da 1 a 99.

Variabili della crescita dei file di PBXT

I file dei dati e degli indici crescono in tronconi.

OpzioniValore predefinitoSpiegazione
--pbxt-data-file-grow-size2MBDimensioni di crescita dei file handle data (.xtd).
--pbxt-row-file-grow-size256KBDimensioni di crescita del file delle righe degli indici (.xtr).

Altre opzioni

OpzioneSpiegazione
--allow-suspicious-udfsConsente di usare le UDF composte da un solo simbolo xxx() senza gli xxx_init() e xxx_deinit() corrispondenti. Questo implica che si possono caricare funzioni da qualsiasi libreria, per esempio exit() da libc.so
--automatic-sp-privilegesCreare ed eliminare le Stored Procedure altera l'ACL. Si disabilita '--skip-automatic-sp-privileges'.
--back_log=# Numero di richieste di connessione accettate da MariaDB. Questo parametro entra in gioco quando il thread principale di MariaDB riceve moltissime richieste di connessione in un tempo brevissimo.
-b, --basedir=nomePercorso della directory di installazione. In genere, tutti i percorsi relativi vengono risolti a partire da qui.
--bind-address=nomeIndirizzo IP da usare.
--bootstrapUsato dagli script di installazione.
--character-set-client-handshakeNon ignora il set di caratteri usato dal client durante l'handshake.
--character-set-filesystem=nomeImposta il set di caratteri del filesystem.
-C, --character-set-server=nomeImposta il set di caratteri predefinito.
--character-sets-dir=nomeLa directory in cui si trovano i set di caratteri.
-r, --chroot=nomeChroot del demone mysqld durante l'avvio.
--collation-server=nomeImposta la collation predefinita.
--completion-type=# Il tipo di completamento predefinito.
--connect_timeout=# Per quanti secondi il server mysqld attende un pacchetto di connessione prima di rispondere con un messaggio 'Bad handshake'.
-h, --datadir=nomePercorso della radice dei database.
--datetime_format=nomeIl formato di DATETIME/TIMESTAMP (per usi futuri).
--date_format=nomeIl formato di DATE (per usi futuri).
--deadlock-search-depth-long=# Profondità delle ricerche lunghe a due passaggi per il rilevamento dei deadlock.
--deadlock-search-depth-short=# Profondità delle ricerche brevi a due passaggi per il rilevamento dei deadlock.
--deadlock-timeout-long=# Timeout lungo per il rilevamento dei deadlock a due passaggi (in microsecondi).
--deadlock-timeout-short=# Timeout breve per il rilevamento dei deadlock a due passaggi (in microsecondi).
--default-character-set=nomeImposta il set di caratteri predefinito (deprecato, si usi --character-set-server).
--default-collation=nomeImposta la collation predefinita (deprecato, si usi --collation-server).
--default-storage-engine=nomeImposta lo Storage Engine predefinito (tipo di tabella).
--default-table-type=nomeDeprecato: si usi '--default-storage-engine'.
--default-time-zone=nomeImposta il fuso orario predefinito.
--default_week_format=# Il formato della settimana predefinito, da usare per le funzioni WEEK().
--delay-key-write[=nome]Tipo di DELAY_KEY_WRITE.
--des-key-file=nameCarica le chiavi per des_encrypt() e des_encrypt dal file predefinito.
--div_precision_increment=# La precisione del risultato dell'operatore '/' verrà incrementata di questo valore.
--enable-lockingDeprecata, si usi --external-locking.
--engine-condition-pushdownUsa l'ottimizzazione Condition Pushdown degli Storage Engine.
--event-scheduler[=nome]Abilita o disabilita l'event scheduler.
-T, --exit-info[=#]Usata per il debug. La si usi a proprio rischio.
--expire_logs_days=# Se non è zero, i log binari vengono svuotati dopo expire_logs_days giorni; ma potrebbero anche essere svuotati all'avvio e alla rotazione.
--extra-max-connections=# Numero di connessioni sulla porta aggiuntiva (extra port).
--extra-port=# Numero della porta aggiuntiva, da usare per le connessioni TCP nella modalità one-thread-per-connection. 0 per disabilitare la porta aggiuntiva.
--flushEsegue il flush delle tabelle su disco tra un comando SQL e l'altro.
--flush_time=# Viene creato un thread dedicato per eseguire il flush di tutte le tabelle all'intervallo dato.
--ft_boolean_syntax=nomeElenco degli operatori per MATCH ... AGAINST ( ... IN BOOLEAN MODE).
--ft_max_word_len=# Lunghezza massima delle parole da includere in un indice FULLTEXT. Nota: gli indici FULLTEXT devono essere ricostruiti dopo aver modificato questa variabile.
--ft_min_word_len=# Lunghezza minima delle parole da includere in un indice FULLTEXT. Nota: gli indici FULLTEXT devono essere ricostruiti dopo aver modificato questa variabile.
--ft_query_expansion_limit=# Numero delle corrispondenze migliori da usare per l'espansione delle query sui FULLTEXT.
--ft_stopword_file=nomeUsa le stopword in questo file invece dell'elenco predefinito.
--general_logAbilita o disabilita il log generale.
--general_log_file=nomeLogga le connessioni e le query nel file specificato.
--group_concat_max_len=# Lunghezza massima del risultato della funzione group_concat.
-?, --helpMostra questo help e termina.
--ignore-builtin-innodbDisabilita l'inizializzazione del plugin builtin InnoDB plugin.
--init-connect=nomeComando/i da eseguire ad ogni nuova connessione che non dispone del privilegio SUPER USER.
--init-file=nameLegge i comandi SQL da questo file all'avvio.
--interactive_timeout=# Per quanti secondi il server deve attendere una attività dalle connessioni interattive prima di chiuderle.
-L, --language=nomeMessaggi di errore client nella lingua specificata. E' possibile indicare un percorso assoluto.
--large-pagesAbilita il supporto delle pagine grandi. Si disabilita con '--skip-large-pages'.
--lc-time-names=nomeImposta la lingua da usare per i nomi dei mesi e i giorni della settimana.
--local-infileAbilita o disabilita LOAD DATA LOCAL INFILE (accetta i valori 1 e 0).
-l, --log[=nome]Logga le connessioni e le query nel file specificato (deprecata: si usi --general_log/--general_log_file).
--log-error[=nome]File di log degli errori.
-0, --log-long-formatRegistra alcune informazioni aggiuntive nell'update log. Si noti che questa opzione è deprecata; si veda --log-short-format.
--log-output[=name]Sintassi: log-output[=valore[,valore...]], dove "valore" può essere TABLE, FILE o NONE.
--log-queries-not-using-indexesLogga le query eseguite senza utilizzare alcun indice nello slow log, se è aperto.
--log-short-formatNon registra informazioni aggiuntive nell'update log e nello slow query log.
--log-slave-updatesDice allo slave di loggare gli update dal thread slave al log binario. Occorre attivarlo se si desidera avere una daisy-chain di slave.
--log-slow-admin-statementsRegistra i comandi lenti di tipo OPTIMIZE, ANALYZE, ALTER, e altre istruzioni amministrative, nello slow log se è aperto.
--log-slow-file=nomeRegistra le query lente nel file specificato. Quello predefinito è hostname-slow.log
--log-slow-filter=nomeRegistra nello slow log solo le query che seguono un certo piano di esecuzione. E' possibile indicare diversi flag in una stringa separata da virgole. [admin, filesort, filesort_on_disk, full_join, full_scan, query_cache, query_cache_miss, tmp_table, tmp_table_on_disk]. Imposta log-slow-admin-command al valore ON.
--log-slow-queries[=nome]Registra le query lente in una tabella o un file di log. Per default, il log è la tabella mysql.slow_log, o hostname-slow.log se si utilizza --log-output=file. Deve essere abilitato per attivare altre opzioni dello slow log. Opzione deprecata: si usi --slow_query_log/--slow_query_log_file.
--log-slow-rate_limit=# Se impostato, scrive le query nello slow log alla velocità indicata (in questo modo si riduce l'output verso lo slow query log)
--log-slow-slave-statementsRegistra le istruzioni lente eseguire dal thread slave nello slow log, se è aperto.
--log-slow-time=# Registra nello slow log tutte le query che hanno impiegato più di long_query_time secondi. L'argomento viene considerato come un valore decimale con precisione al millisecondo.
--log-slow-verbosity=nomeSceglie quanto saranno verbosi i messaggi inseriti nello slow log. E' possibile specificare più flag in una stringa separata da virgole. [query_plan, innodb]
--log-tc=nomePercorso del log del coordinatore delle transazioni (utilizzato per le transazioni che coinvolgono più di uno Storage Engine, quando il log binario è abilitato).
--log-tc-size=# Dimensioni del log del coordinatore delle transazioni.
--log-update[=nome]L'update log è deprecato a partire dalla versione 5.0, perché è sostituito dal log binario. Questa opzione invece attiva --log-bin.
-W, --log-warnings[=#]Registra alcuni warning non critici nel file di log. Si veda il manuale di MySQL per ulteriori dettagli.
--long_query_time=# Registra nello slow query log tutte le query che impiegano più di long_query_time secondi. L'argomento è considerato un valore decimale con precisione al microsecondo.
--low-priority-updatesLe INSERT/DELETE/UPDATE hanno una priorità più bassa rispetto alle SELECT.
--lower_case_table_names[=#]Se impostato a 1, i nomi delle tabelle vengono registrati su disco sempre con caratteri minuscoli e saranno case-insensitive (cioé non c'è differenza tra le lettere maiuscole e le minuscole). Se si lavora su un filesystem case-insensitive, occorre impostare questa opzione a 2.
--master-connect-retry=# Numero di secondi che il thread slave deve attendere prima di riprovare a connettersi al master, nel caso in cui il master vada giù o la connessione si perda.
--max_allowed_packet=# Lunghezza massima dei pacchetti da inviare e ricevere dal server.
--max_binlog_cache_size=# Serve a limitare la memoria che può essere usata per mettere in cache una query multi-transazionale.
--max_binlog_size=# Il log binario viene ruotato automaticamente quando le sue dimensioni superano questo limite. Se max_relay_log_size è 0, si applica anche al relay log. Il valore minimo consentito è 4096.
--max_connections=# Numero massimo consentito di connessioni simultanee.
--max_connect_errors=# Se le connessioni da un certo host che sono state interrotte superano questo numero, quell'host non può più connettersi.
--max_delayed_threads=# Numero massimo di thread per gestire le istruzioni INSERT DELAYED. Se è impostato a zero, INSERT DELAYED non viene usato.
--max_error_count=# Numero massimo di errori/warning da ricordare per ogni istruzione.
--max_length_for_sort_data=# Numero massimo di byte nei record ordinati.
--max_prepared_stmt_count=# Numero massimo di Prepared Statements nel server.
--max_sp_recursion_depth[=#]Profondità massima della ricorsione nelle Stored Procedure. E' spiegato nella documentazione.
--max_tmp_tables=# Numero massimo di tabelle temporanee che un client può tenere aperte allo stesso tempo.
--max_user_connections=# Numero massimo di connessioni attive per ogni utente. 0 = nessun limite.
--max_write_lock_count=# Dopo aver acquisito questo numero di lock in scrittura, permette l'acquisizione di alcuni lock in lettura che sono in coda.
--memlockBlocca mysqld in memoria.
--min_examined_row_limit=# Non registra nei log le query che esaminano meno di min_examined_row_limit righe.
--multi_range_count=# Numero di intervalli degli indici che possono essere chiesti in una volta.
--ndb-use-copying-alter-tableForza ndbcluster a copiare sempre le tabelle quando si esegue ALTER TABLE (dovrebbe essere usato solo se un ALTER TABLE on-line fallisce).
--net_buffer_length=# Dimensioni del buffer per la comunicazione via TCP/IP e socket.
--net_read_timeout=# Per quanti secondi deve attendere dati da una connessione prima di abortire la lettura.
--net_retry_count=# Se una lettura attraverso una porta si interrompe, ritenta per il numero di volte specificato, prima di rinunciare.
--net_write_timeout=# Per quanti secondi deve attendere che un blocco venga inviato a una connessione prima di abortire la scrittura.
--one-thread(Deprecata): Usa solo un thread (per il debug sotto Linux). Si usi thread-handling=no-threads.
--open_files_limit=# Se non è 0, mysqld usa questo valore per riservare i descrittori dei file da usare con setrlimit(). Se è 0, mysqld riserva un numero di file equivalenti al più alto tra questi due valori: max_connections*5 oppure max_connections + table_cache*2.
--pid-file=nomeFile Pid usato da safe_mysqld.
--plugin-load=nomeElenco opzionale dei plugin da caricare, separato da punto e virgola, dove ogni plugin è identificato da nome=libreria, dove 'nome' è il nome del plugin e 'libreria' è una libreria che si trova in plugin_dir.
--plugin_dir=nomeDirectory dei plugin.
-P, --port=# Numero di porta da usare per la connessione o 0 per usare, in ordine di preferenza, my.cnf, $MYSQL_TCP_PORT, /etc/services o il default built-in (3306).
--port-open-timeout=# Per quanti secondi deve attendere che la porta si liberi. Default: nessuna attesa.
--preload_buffer_size=# Dimensioni del buffer allocato per il precaricamento degli indici.
--profiling_history_size=# Limite della memoria dedicata al profiling della query.
--progress_report_time=# Intervallo in secondi tra i progress report che vengono inviati al client durante i comandi lenti. 0 per disabilitare. Nuovo in 5.3
--query_cache_limit=# Non registra nella cache i risultati più grandi di questo valore.
--query_cache_min_res_unit=# Unità di memoria minima allocabile per registrare i risultati nella cache.
--query_cache_size=# Memoria allocata per registrare i risultati delle vecchie query.
--query_cache_type=# 0 = OFF = Non usare la cache. 1 = ON = Registra tutti i risultati nella cache, eccetto le query SELECT SQL_NO_CACHE. 2 = DEMAND = Registra nella cache solo le query SELECT SQL_CACHE.
--query_cache_wlock_invalidateInvalida le query nella cache quando viene acquisito un LOCK in scrittura.
--read_onlyRende tutte le tabelle non temporanee leggibili solo dai thread della replica (slave) e dagli utenti con il privilegio SUPER.
--read_rnd_buffer_size=# Quando legge i record dopo un ordinamento, le righe vengono lette attraverso questo buffer per evitare accessi al disco. Il valore predefinito è lo stesso di record_buffer.
--safe-show-databaseDeprecata: si usi GRANT SHOW DATABASES.
--safe-user-createNon permette agli utenti che non hanno i permessi di scrittura nella tabella mysql.user di creare nuovi utenti.
--safemalloc-mem-limit=# Se è compilato con l'opaione --with-debug=full, simula l'abbreviazione della memoria.
--secure-authNon permette l'autenticazione agli account che utilizzano le vecchie password (prima di 4.1).
--secure-file-priv=nomePermette LOAD DATA, SELECT ... OUTFILE e LOAD_FILE() solo con i file che si trovano nella directory specificata.
-O, --set-variable=nomeModifica il valore di una variabile. Si noti che questa opzione è deprecata: è possibile valorizzare le variabili direttamente con '--nome-variabile=valore'.
--show-slave-auth-infoMostra nome utente e password in SHOW SLAVE HOSTS su questo master.
--skip-grant-tablesSi avvia senza le tabelle dei permessi. In questo modo, tutti gli utenti hanno ACCESSO COMPLETO a tutte le tabelle.
--skip-host-cacheNon registra nella cache i nomi degli host.
--skip-lockingDeprecata: si usi --skip-external-locking.
--skip-name-resolveNon risolve i nomi degli host. Tutti i nomi devono essere indirizzi IP o 'localhost'.
--skip-networkingNon permette la connessione via TCP/IP.
--skip-show-databaseNon permete i comandi 'SHOW DATABASE'.
--skip-slave-startEvita l'avvio automatico dello slave.
--skip-stack-traceNon stampa la stack trace in caso di fallimento.
--skip-symlinkNon permette i symlink verso le tabelle. Deprecata: si usi --skip-symbolic-links.
--skip-thread-priorityNon assegna ai thread priorità differenti. Deprecata.
--slow-query-logAbilita o disabilita lo slow query log.
--slow_launch_time=# Se la creazione del thread impiega un numero di secondi maggiore di questo valore, il contatore Slow_launch_threads viene incrementato.
--slow_query_log_file=nomeRegistra le query lente nel file di log specificato. Per default, usa hostname-slow.log. Deve essere impostata per poter usare le altre opzioni relative allo slow log.
--socket=nomeFile di socket da usare per la connessione.
--sort_buffer_size=# Ogni thread che deve eseguire un ordinamento alloca un buffer di queste dimensioni.
--sql-bin-update-same=# L'update log è deprecato a partire dalla versione 5.0: è stato rimpiazzato dal log binario e questa opzione non ha più effetto.
--sql-mode=nomeSintassi: sql-mode=opzione[,opzione[,opzione...]] dove 'opzione' può essere: REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, ONLY_FULL_GROUP_BY, NO_UNSIGNED_SUBTRACTION.
--sslAbilita le connessioni SSL (abilitato automaticamente se si usano gli altri flag). Si disabilita con '--skip-ssl'.
--ssl-ca=nomeFile CA in formato PEM (si veda la documentazione di OpenSSL, implica --ssl).
--ssl-capath=nomeDirectory CA (si veda la documentazione di OpenSSL, implica --ssl).
--ssl-cert=nomeCertificato X509 in formato PEM format (implica --ssl).
--ssl-cipher=nomeCifratura SSL da usare (implica --ssl).
--ssl-key=nomeChiave X509 in formato PEM (implica --ssl).
-s, --symbolic-linksAbilita il supporto ai link simbolici.
--sync-binlog=# Esegue il flush sincrono del log binario dopo ogni #n eventi. Si usi 0 (predefinito) per disabilitare il flush sincrono.
--sync-frmSincronizza i file .frm sul disco quando viene creata una tabella. Abilitato per default.
--table_lock_wait_timeout=# Timeout in secondi dei lock sulle tabelle, poi viene restituito un errore. E' usato solo se la connessione ha cursori attivi.
--tc-heuristic-recover=nomeUtilizza il recupero euristico. I valori ammessi sono COMMIT e ROLLBACK.
--temp-poolSe si specifica questa opzione, la maggioranza dei file temporanei viene creata per usare un piccolo insieme di nomi, piuttosto che un nome unico per ogni nuovo file.
--test-expect-abortSi aspetta che il server abortisca con 'abort'; in questo caso non stampa le variabili server. Utile per gli script di test.
--test-ignore-wrong-optionsIgnora i valori enum non validi specificati come argomento nella riga di comando. Utile per gli script di test.
--thread_cache_size=# Quanti thread vengono conservati in una cache per essere riutilizzati.
--thread_concurrency=# Permette all'applicazione di suggerire al sistema dei thread il numero di thread che si desidera vengano eseguiti in contemporanea.
--thread_handling=nomeDetermina in che modo i thread vengono usati: one-thread-per-connection, pool-of-threads o no-threads.
--thread_pool_size=# Quanti thread devono essere creati per gestire le richieste delle query in caso di 'thread_handling=pool-of-threads'.
--thread_stack=# Le dimensioni dello per ogni thread.
--timed_mutexesSpecifica se devono essere usati i mutex a tempo (solo InnoDB li supporta, attualmente).
--time_format=nomeIl formato di TIME (per il futuro).
-t, --tmpdir=namePercorso dei file temporanei. E' possibile specificare più percorsi, separati da due punti (:).
--transaction-isolation=nameLivello di isolamento delle transazioni predefinito.
--transaction_alloc_block_size=# Dimensione dei blocchi allocati per le transazioni che devono essere registrate nel log binario.
--transaction_prealloc_size=# Buffer persistente per le transazioni che devono essere registrate nel log binario.
--updatable_views_with_limit=# 1 = YES = Non produrre un messaggio di errore (warning) se si usa una vista aggiornabile che non usa una chiave, con una query che ha una clausola LIMIT. 0 = NO = Proibisce l'aggiornamento delle viste che non usano una chiave, se la query ha una clausola LIMIT (di solito si ottiene con le GUI).
--use-symbolic-linksAbilita il supporto ai link simbolici. Deprecata: si usi --symbolic-links.
-u, --user=nomeEsegue il demone mysqld usando questo utente.
-v, --verboseSi usa insieme a --help per ottenere un help più dettagliato.
-V, --versionStampa le informazioni sulla versione e termina.
--wait_timeout=# Per quanti secondi il server deve attendere attività da una connessione prima di chiuderla.
--warnings[=#]Deprecata; si usi --log-warnings.

Opzioni per il logging dei waning

Ecco che cosa viene registrato nel log, a seconda dei vari valori di log_warnings:

  • log_warnings >= 1
    • Events_schedular: info e warning
    • Errori 'access denied'
    • Connesioni chiuse forzatamente o abortite
    • Segnali di sistema
    • Uso errato di --user
    • setrlimit() e mlockall() non riusciti
    • Limiti modificati
    • Valori non validi per lower_case_table_names e stack_size
    • Valori non validi per le opzioni della riga di comando
    • Avvia la posizione nei log e alcune informazioni sul master all'avvio degli slave
    • Riconnessione degli slave
    • Slave terminati forzatamente
    • Errori durante la lettura dei relay log
    • Istruzioni non sicure con il logging basato sulle istruzioni (se è impostato anche BINLOG_FLAG_UNSAFE_STMT_PRINTED)
    • Quando uno tenta di abilitare o usare i plugin disabilitati
    • File delle UDF che non includono le funzioni di inizializzazione appropriate.
  • log_warnings >= 2
    • Errori del gestore delle tabelle
  • log_warnings >= 3
    • Tutti gli errori e i warning durante la riparazione e il recupero automatico delle tabelle MyISAM.

Valori predefiniti

E' possibile conoscere i valori predefiniti delle opzioni in questo modo:

mysqld --no-defaults --help --verbose

Alla fine dell'elenco, sono presenti i valori di default.

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.