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

Optimizer options

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.

Options when debugging mysqld

OptionDescription
--consoleWrite error output on screen; don't remove the console window on windows.
--core-fileWrite core on errors.
-#, --debug[=name]Use logging trough the DBUG library. Just using --debug will write a trafe of what mysqld is doing to /tmp/mysqld.trace.
--debug-assert-if-crashed-tableDo an assert in handler::print_error() if we get a crashed table.
-debug-crc-break=# Call my_debug_put_break_here() if crc matches this number (for debug).
--debug-flushDefault debug log with flush after write.
--debug-sync-timeout[=#]Enable the debug sync facility and optionally specify a default wait timeout in seconds. A zero value keeps the facility disabled.
--gdbSet up signals usable for debugging.
--sync-sys Enable/disable system sync calls. Syncs should only be turned off (--disable-sync-sys) when running tests or debugging!
--thread-alarmEnable/disable system thread alarm calls. Should only be turned off (--disable-thread-alarm) when running tests or debugging! (New in 5.3)

Options for MyISAM

OptionDescription
--concurrent-insert[=#]Use concurrent insert with MyISAM. Disable with --concurrent-insert=0.
--delay-key-write-for-all-tablesDon't flush key buffers between writes for any MyISAM table. (Deprecated option, use --delay-key-write=all instead.)
--delayed_insert_limit=# After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
--delayed_insert_timeout=# How long a INSERT DELAYED thread should wait for INSERT statements before terminating.
--delayed_queue_size=# What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again.
--external-lockingUse system (external) locking (disabled by default). With this option enabled you can run myisamchk to test (not repair) tables while the MySQL server is running. Disable with --skip-external-locking.
--keep_files_on_createDon't overwrite stale .MYD and .MYI even if no directory is specified.
--key_buffer_size=# The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford; 1GB on a 4GB machine that mainly runs MySQL is quite common.
--key_cache_age_threshold=# This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache.
--key_cache_block_size=# The default size of key cache blocks.
--key_cache_division_limit=# The minimum percentage of warm blocks in key cache.
--log-isam[=name]Log all MyISAM changes to file.
--myisam-recover[=name]Syntax: myisam-recover[=option[,option...]], where option can be DEFAULT, BACKUP, BACKUP_ALL (new in 5.1.51) FORCE or QUICK.
--myisam_block_size=# Block size to be used for MyISAM index pages.
--myisam_data_pointer_size=# Default pointer size to be used for MyISAM tables.
--myisam_max_extra_sort_file_size=# This is a deprecated option that does nothing anymore. It will be removed in MySQL 5.6
--myisam_max_sort_file_size=# Don't use the fast sort index method to created index if the temporary file would get bigger than this.
--myisam_mmap_size=# Can be used to restrict the total memory used for memory mmaping of myisam files
--myisam_repair_threads=# Specifies whether several threads should be used when repairing MyISAM tables. For values > 1, one thread is used per index. The value of 1 disables parallel repair.
--myisam_sort_buffer_size=# The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.
--myisam_stats_method=nameSpecifies how MyISAM index statistics collection code should threat NULLs. Possible values of name are "nulls_unequal" (default behavior for 4.1/5.0), "nulls_equal" (emulate 4.0 behavior), and "nulls_ignored".
--myisam_use_mmapUse memory mapping for reading and writing MyISAM tables.

Options for InnoDB

OptionDefault ValueDescription
--innodbONThis variable controls whether or not to load the InnoDB storage engine. Possible Values are ON, OFF, or FORCE.
--innodb-adaptive-checkpointestimate
--innodb-adaptive-flushingFALSESet whether to use adaptive flushing to determine when to flush dirty buffer cache pages.
--innodb-adaptive-hash-indexTRUEUsed to enable or disable InnoDB adaptive hash indexes.
--innodb-additional-mem-pool-size8388608The size (in bytes) of the memory pool InnoDB uses to store internal data structures (including data dictionary information). Possible values are between 2097152 and 4294967295.
--innodb-auto-lru-dump0
--innodb-autoextend-increment8Increment size (in MB) for extending the size of an auto-extended shared tablespace file. Does not affect per-table tablespace files created if you use --innodb_file_per_table=1.
--innodb-autoinc-lock-mode1Sets the lock mode to use when generating auto-increment values. Possible values are 0 (traditional), 1 (consecutive), or 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-size134217728The size (in bytes) of the InnoDB memory buffer. Allowed values on 32-bit systems range from 1048576 to 232-1. On dedicated database servers this value can normally be safely set to 80% of physical memory, but may need to be reduced depending on your individual setup.
--innodb-change-bufferinginserts
--innodb-checkpoint-age-target0
--innodb-checksumsTRUEWhether to ensure extra fault tolerance with checksums.
--innodb-cmpON
--innodb-cmp-resetON
--innodb-cmpmemON
--innodb-cmpmem-resetON
--innodb-commit-concurrency0Set the number of threads which can commit at the same time. '0' permits any number of transactions to commit at the same time.
--innodb-concurrency-tickets500The number of free "tickets" a thread is given which it can use to enter and leave InnoDB without being subject to a concurrency check or queuing.
--innodb-data-file-path(No default value)The path to individual data files.
--innodb-data-home-dir(No default value)The common part of the directory path to data files.
--innodb-dict-size-limit0
--innodb-doublewriteTRUE
--innodb-doublewrite-file(No default value)
--innodb-enable-unsafe-group-commit0
--innodb-expand-import0
--innodb-extra-rsegments0
--innodb-extra-undoslotsFALSE
--innodb-fast-checksumFALSE
--innodb-fast-recoveryFALSE
--innodb-fast-shutdown1Possible values are '0' (slow shutdown with a full purge and insert buffer merge before shutdown), '1' (fast shutdown without the purge and merge), or '2' (flush logs and exit hard, as if MariaDB had crashed). Only use innodb_fast_shutdown=2 in emergency or troubleshooting situations (e.g. if data is at risk of corruption and you need to shutdown as fast as possible).
--innodb-file-formatAntelopeThe file format to use for new InnoDB tables. Possible values are 'Antelope' or 'Barracuda'.
--innodb-file-format-checkBarracuda
--innodb-file-io-threads4
--innodb-file-per-tableFALSEIf disabled, InnoDB will create tables in the system tablespace. If enabled, InnoDB will create each new table with its own .ibd file.
--innodb-flush-log-at-trx-commit1Possible values are '0' (write the log buffer to the log file once per second and flush to disk but do nothing at a transaction commit), '1' (write the log buffer to the log file and flush to disk at each transaction commit), or '2' (write the log buffer to the log file at each commit but flush to disk once per second). Option '1' is required for full ACID compliance.
--innodb-flush-log-at-trx-commit-session3
--innodb-flush-method(No default value)Possible values are 'O_DSYNC', or 'O_DIRECT'. This variable is only useful on Linux and Unix. The flush method is always 'async_unbuffered' on Windows.
--innodb-flush-neighbor-pages1
--innodb-force-recovery0Possible values are '0', '1', '2', '3', '4', '5', or '6'.
--innodb-ibuf-accel-rate100
--innodb-ibuf-active-contract1
--innodb-ibuf-max-size9223372036854775807
--innodb-index-statsON
--innodb-io-capacity200On 32-bit systems, possible values range from 100 to 232-1 (2**32-1). On 64-bit systems, possible values range from 100 to 264-1 (2**64-1). Set this value to the approximate number if I/O operations your system can perform per second.
--innodb-lazy-drop-table0
--innodb-lock-wait-timeout50The amount of time and InnoDB transaction will wait (in seconds) before it gives up. Possible values range from '1' to '1073741824'.
--innodb-lock-waitsON
--innodb-locksON
--innodb-locks-unsafe-for-binlogFALSE
--innodb-log-block-size512
--innodb-log-buffer-size8388608The size (in bytes) of the buffer used for writing log files on disk. Possible values range from '262144' to '4294967295'.
--innodb-log-file-size5242880The size (in bytes) of each log file in a log group. Possible values range from '108576' to '4294967295'.
--innodb-log-files-in-group2The number of log files in the log group. Allowed values range from '2' to '100'.
--innodb-log-group-home-dir(No default value)Directory path to the InnoDB redo log files. The default (if no value is set) is to put the log files in the data directory.
--innodb-max-dirty-pages-pct75Possible values range from '0' to '99'. InnoDB will try to write pages from the buffer pool so that the percentage of dirty (unwritten) pages does not exceed this value.
--innodb-max-purge-lag0How to delay INSERT, UPDATE, and DELETE operations. '0' means "no delays".
--innodb-mirrored-log-groups1The number of identical copies of log groups to keep. Should be '1'.
--innodb-old-blocks-pct37The percentage of the buffer pool to use for the old block sublist. Possible values range from '5' to '95'.
--innodb-old-blocks-time0How long (in milliseconds) an inserted block must stay in the old sublist after its first access before it can be moved to the new sublist. '0' means "no delay". Possible values range from '0' to '232-1' (2**32-1).
--innodb-open-files300The max number of .ibd files InnoDB can keep open simultaneously. Allowed values range from '10' to '4294967295'. Only applies if you use multiple tablespaces.
--innodb-overwrite-relay-log-infoFALSE
--innodb-page-size16384
--innodb-pass-corrupt-table0
--innodb-read-aheadlinear
--innodb-read-ahead-threshold56Allowed values range from '0' to '64'. Default of '56' means that InnoDB must read at least 56 pages sequentially from an extent to initiate an asynchronous read for the following extent.
--innodb-read-io-threads4The number of I/O threads for InnoDB read operations. Possible values range from '1' to '64'.
--innodb-recovery-statsFALSE
--innodb-replication-delay0Replication thread delay (in milliseconds) on a slave server if innodb_thread_concurrency is reached. Allowed values range from '0' (no delay) to '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_equalDetermines how the server treats NULL values when collecting statistics regarding index value distribution for InnoDB tables. Possible values are 'nulls_equal', 'nulls_unequal', or 'nulls_ignored'.
--innodb-stats-on-metadataTRUEControls whether or not to update statistics during metadata statements (e.g. SHOW TABLE STATUS or SHOW INDEX) or when accessing the INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.STATISTICS tables.
--innodb-stats-sample-pages8The number of index pages to sample when calculating index distribution statistics. Possible values range from '1' to '264-1' (2**64-1).
--innodb-stats-update-need-lock1
--innodb-status-fileFALSE
--innodb-strict-modeFALSEControls whether or not to return errors instead of warnings for certain conditions. This option is analogous to strict SQL mode.
--innodb-support-xaTRUEControls whether of not to use a two-phase commit in XA transactions (this causes an extra disk flush for transaction preparation).
--innodb-sync-spin-loops30The number of times a thread will wait for an InnoDB mutex to be freed before the thread is suspended. Possible values range from '0' to '4294967295'.
--innodb-sys-indexesON
--innodb-sys-statsON
--innodb-sys-tablesON
--innodb-table-locksTRUE
--innodb-table-statsON
--innodb-thread-concurrency0How many concurrent operating system threads InnoDB will try and stay at or below. Possible values range from '0' (no concurrency checking) to '1000'.
--innodb-thread-concurrency-timer-basedFALSE
--innodb-thread-sleep-delay10000
--innodb-trxON
--innodb-use-purge-thread1
--innodb-use-sys-mallocTRUEIf TRUE, InnoDB will use the operating system's memory allocator. If 'FALSE', InnoDB will use its own.
--innodb-use-sys-stats-tableFALSE
--innodb-write-io-threads4The number of I/O threads for write operations. Possible values range from '1' to '64'.

Options for PBXT

The following system variables are available for controlling the behavior of the PBXT engine.

System variables can be set in the my.cnf file or on the mysqld command line. Variables that can be set dynamically can be set using the SET GLOBAL command which is sent to the server. System variables that can be set dynamically are specified as such below.

Variables that specify a number of bytes may include a unit indication after the value. For example: 100KB, 64MB, etc. There should be no space between the number and the unit. Units are case insensitive (KB = Kb = kb). If no unit is specified then bytes is assumed. The recognized units are:

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

Variables which use this type of value are: 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

PBXT Cache Memory Variables

OptionDefault ValueDescription
--pbxt-index-cache-size32MBThe amount of memory allocated to the index cache. The memory allocated here is used only for caching index pages (.xti files).
--pbxt-record-cache-size32MBThis is the amount of memory allocated to the record cache used to cache table data. This memory is used to cache changes to the handle data (.xtd) and row index (.xtr) files.
--pbxt-log-cache-size16MBThe amount of memory allocated to the transaction log cache used to cache on transaction log data (xlog-*.xt files).

PBXT Transaction Manager Variables

OptionDefault ValueDescription
--pbxt-log-file-threshold32MBThe size of a transaction log file (xlog-*.xt files) before "rollover", and a new log file is created.
--pbxt-transaction-buffer-size1MBThe size of the global transaction log buffer (the engine allocates 2 buffers of this size). Data to be written to a transaction log file is first written to the transaction log buffer. Since the buffer is flushed on transaction commit, it only makes sense to use a large transaction log buffer if you have longer running transactions, or many transaction running in parallel.
--pbxt-checkpoint-frequency24MBThe amount of data written to the transaction log before a checkpoint is performed.
--pbxt-sweeper-priority0Determines the priority of the background Sweeper thread. Possible values are '0' (Low), '1' (Normal), or '2' (High). The Sweeper is responsible for removing deleted records and index entries (deleted records also result from UPDATE statements). If many old deleted records accumulate search operations become slower. Therefore it may improve performance to increase the priority of the Sweeper on a machine with 4 or more cores.
--pbxt-auto-increment-mode0The parameter determines how PBXT manages auto-increment values. Possible values are '0' (MySQL standard) or '1' (Previous IDs are never re-used).

In the standard 'MySQL' mode it is possible that an auto-increment value is re-issued. This occurs when the maximum auto-increment value is deleted, and then MariaDB is restarted. This occurs because the next auto-increment value to be issued is determined at startup by retrieving the current maximum auto-increment value from the table.

In mode 1, auto-increment values are never re-issued because PBXT automatically incrementing the table level AUTO_INCREMENT table option. The AUTO_INCREMENT table is incremented in steps of 100. Since this requires the table file to be flushed to disk, this can influence performance.
--pbxt-flush-log-at-trx-commit1This variable specifies the durability of recently committed transactions. By reducing the durability, the speed of write operations can be increased.

'0' - Lowest durability, the transaction log is not written or flushed on transaction commit. In this case it is possible to loose transactions if the server executable crashes.
'1' - Full-durability, the transaction log is written and flushed on every transaction commit.
'2' - Medium durabilty, the transaction log is written, but not flushed on transaction commit. In this case it is possible to loose transactions of the server machine crashes (for example, a power failer).

In all cases, the transaction log is flushed at least once every second. This means that it is only every possible to loose database changes that occurred within the last second.
--pbxt-log-file-count3The number of transaction log files on disk before logs that are no longer required are deleted, default value is 3. The number of transaction logs on disk may exceed this number if the logs are still being read.

If a transaction log has been read (i.e. the log is offline), it will be recycled for writing again, unless it must be deleted because the number of logs on disk exceeds this threshold. Recycling logs is an optimization because the writing a pre-allocated file is faster then writing to the end of a file.

Note: an exception to this rule is Mac OS X. On Mac OS X old log files are not recycled because writing pre-allocated file is slower than writing to the end of file.
--pbxt-offline-log-function0This variable determines what happens to a transaction log when it is offline. A log is offline if PBXT is no longer reading or writing to the log. There are 3 possibilities:

'0' - Recycle log (default). This means the log is renamed and written again.
'1' - Delete log (default on Mac OS X).
'2' - Keep log. The logs can be used to repeat all operations that were applied to the database.
--pbxt-support-xaTRUEThis variable determines if XA (2-phase commit) support is enabled.

PBXT Data Log Variables

PBXT stores part of the database in the data logs. This is mostly data from rows containing long VARCHAR fields or BLOB data. The data logs are managed by the "compactor" thread. When a record is deleted from a data log, the data is marked as garbage. When the total garbage in a data log reaches a certain threshold, the compactor thread compacts the data log by copying the valid data to a new data log, and deleting the old data log.

The following system variables control the way data logs are managed.

OptionDefault ValueDescription
--pbxt-data-log-threshold64MBThe maximum size of a data log file. PBXT can create a maximum of 32000 data logs, which are used by all tables. So the value of this variable can be increased to increase the total amount of data that can be stored in the database.
--pbxt-log-buffer-size256MBThis is the size of the buffer used when writing a data log. The engine allocates one buffer per thread, but only if the thread is required to write a data log.
--pbxt-garbage-threshold50The percentage of garbage in a data log file before it is compacted. This is a value between 1 and 99.

PBXT File Grow Variables

The handle data and row index files are grown in chunks.

OptionDefault ValueDescription
--pbxt-data-file-grow-size2MBThe grow size of the handle data (.xtd) files.
--pbxt-row-file-grow-size256KBThe grow size of the row index (.xtr) files).

Other Options

OptionDescription
--allow-suspicious-udfsAllows use of UDFs consisting of only one symbol xxx() without corresponding xxx_init() or xxx_deinit(). That also means that one can load any function from any library, for example exit() from libc.so
--automatic-sp-privilegesCreating and dropping stored procedures alters ACLs. Disable with '--skip-automatic-sp-privileges'.
--back_log=# The number of outstanding connection requests MySQL can have. This comes into play when the main MySQL thread gets very many connection requests in a very short time.
-b, --basedir=namePath to installation directory. All paths are usually resolved relative to this.
--bind-address=nameIP address to bind to
--bootstrapUsed by mysql installation scripts.
--character-set-client-handshakeDon't ignore client side character set value sent during handshake.
--character-set-filesystem=nameSet the filesystem character set.
-C, --character-set-server=nameSet the default character set.
--character-sets-dir=nameDirectory where character sets are.
-r, --chroot=nameChroot mysqld daemon during startup.
--collation-server=nameSet the default collation.
--completion-type=# Default completion type
--connect_timeout=# The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'.
-h, --datadir=namePath to the database root.
--datetime_format=nameThe DATETIME/TIMESTAMP format (for future).
--date_format=nameThe DATE format (for future).
--deadlock-search-depth-long=# Long search depth for the two-step deadlock detection
--deadlock-search-depth-short=# Short search depth for the two-step deadlock detection
--deadlock-timeout-long=# Long timeout for the two-step deadlock detection (in microseconds)
--deadlock-timeout-short=# Short timeout for the two-step deadlock detection (in microseconds)
--default-character-set=nameSet the default character set (deprecated option, use --character-set-server instead).
--default-collation=nameSet the default collation (deprecated option, use --collation-server instead).
--default-storage-engine=nameSet the default storage engine (table type) for tables.
--default-table-type=name(deprecated) Use '--default-storage-engine'.
--default-time-zone=nameSet the default time zone.
--default_week_format=# The default week format used by WEEK() functions.
--delay-key-write[=name]Type of DELAY_KEY_WRITE.
--des-key-file=nameLoad keys for des_encrypt() and des_encrypt from given file.
--div_precision_increment=# Precision of the result of '/' operator will be increased on that value.
--enable-lockingDeprecated option, use --external-locking instead.
--engine-condition-pushdownPush supported query conditions to the storage engine.
--event-scheduler[=name]Enable/disable the event scheduler.
-T, --exit-info[=#]Used for debugging. Use at your own risk.
--expire_logs_days=# If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation.
--extra-max-connections=# The number of connections on 'extra-port.
--extra-port=# Extra port number to use for tcp-connections in a one-thread-per-connection manner. 0 means don't use another port
--flushFlush tables to disk between SQL commands.
--flush_time=# A dedicated thread is created to flush all tables at the given interval.
--ft_boolean_syntax=nameList of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE).
--ft_max_word_len=# The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable.
--ft_min_word_len=# The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable.
--ft_query_expansion_limit=# Number of best matches to use for query expansion.
--ft_stopword_file=nameUse stopwords from this file instead of built-in list.
--general_logEnable/disable general log.
--general_log_file=nameLog connections and queries to given file.
--group_concat_max_len=# The maximum length of the result of function group_concat.
-?, --helpDisplay this help and exit.
--ignore-builtin-innodbDisable initialization of builtin InnoDB plugin.
--init-connect=nameCommand(s) that are executed for each new connection that has not the SUPER USER privilege.
--init-file=nameRead SQL commands from this file at startup.
--interactive_timeout=# The number of seconds the server waits for activity on an interactive connection before closing it.
-L, --language=nameClient error messages in given language. May be given as a full path.
--large-pagesEnable support for large pages. Disable with '--skip-large-pages'.
--lc-time-names=nameSet the language used for the month names and the days of the week.
--local-infileEnable/disable LOAD DATA LOCAL INFILE (takes values 1 or 0).
-l, --log[=name]Log connections and queries to file (deprecated option, use --general_log/--general_log_file instead).
--log-error[=name]Error log file.
-0, --log-long-formatLog some extra information to update log. Please note that this option is deprecated; see --log-short-format option.
--log-output[=name]Syntax: log-output[=value[,value...]], where "value" could be TABLE, FILE or NONE.
--log-queries-not-using-indexesLog queries that are executed without benefit of any index to the slow log if it is open.
--log-short-formatDon't log extra information to update and slow-query logs.
--log-slave-updatesTells the slave to log the updates from the slave thread to the binary log. You will need to turn it on if you plan to daisy-chain the slaves.
--log-slow-admin-statementsLog slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open.
--log-slow-file=nameLog slow queries to given log file. Defaults logging to hostname-slow.log
--log-slow-filter=nameLog only the queries that followed certain execution plan. Multiple flags allowed in a comma-separated string. [admin, filesort, filesort_on_disk, full_join, full_scan, query_cache, query_cache_miss, tmp_table, tmp_table_on_disk]. Sets log-slow-admin-command to ON
--log-slow-queries[=name]Log slow queries to a table or log file. Defaults logging to table mysql.slow_log or hostname-slow.log if --log-output=file is used. Must be enabled to activate other slow log options. (deprecated option, use --slow_query_log/--slow_query_log_file instead)
--log-slow-rate_limit=# If set, only write to slow log every 'log_slow_rate_limit' query (use this to reduce output on slow query log)
--log-slow-slave-statementsLog slow statements executed by slave thread to the slow log if it is open.
--log-slow-time=# Log all queries that have taken more than long_query_time seconds to execute to file. The argument will be treated as a decimal value with microsecond precission.
--log-slow-verbosity=nameChoose how verbose the messages to your slow log will be. Multiple flags allowed in a comma-separated string. [query_plan, innodb]
--log-tc=namePath to transaction coordinator log (used for transactions that affect more than one storage engine, when binary log is disabled).
--log-tc-size=# Size of transaction coordinator log.
--log-update[=name]The update log is deprecated since version 5.0, is replaced by the binary log and this option just turns on --log-bin instead.
-W, --log-warnings[=#]Log some not critical warnings to the log file. See for details.
--long_query_time=# Log all queries that have taken more than long_query_time seconds to execute. The argument will be treated as a decimal value with microsecond precision.
--low-priority-updatesINSERT/DELETE/UPDATE has lower priority than selects.
--lower_case_table_names[=#]If set to 1, table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case-insensitive file system.
--master-connect-retry=# The number of seconds the slave thread will sleep before retrying to connect to the master, in case the master goes down or the connection is lost.
--max_allowed_packet=# The maximum packet length to send to or receive from server.
--max_binlog_cache_size=# Can be used to restrict the total size used to cache a multi-transaction query.
--max_binlog_size=# Binary log will be rotated automatically when the size exceeds this value. Will also apply to relay logs if max_relay_log_size is 0. The minimum value for this variable is 4096.
--max_connections=# The number of simultaneous clients allowed.
--max_connect_errors=# If there is more than this number of interrupted connections from a host this host will be blocked from further connections.
--max_delayed_threads=# Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero, which means INSERT DELAYED is not used.
--max_error_count=# Max number of errors/warnings to store for a statement.
--max_length_for_sort_data=# Max number of bytes in sorted records.
--max_prepared_stmt_count=# Maximum number of prepared statements in the server.
--max_sp_recursion_depth[=#]Maximum stored procedure recursion depth. (discussed with docs).
--max_tmp_tables=# Maximum number of temporary tables a client can keep open at a time.
--max_user_connections=# The maximum number of active connections for a single user (0 = no limit).
--max_write_lock_count=# After this many write locks, allow some read locks to run in between.
--memlockLock mysqld in memory.
--min_examined_row_limit=# Don't log queries which examine less than min_examined_row_limit rows to file.
--multi_range_count=# Number of key ranges to request at once.
--ndb-use-copying-alter-tableForce ndbcluster to always copy tables at alter table (should only be used if on-line alter table fails).
--net_buffer_length=# Buffer length for TCP/IP and socket communication.
--net_read_timeout=# Number of seconds to wait for more data from a connection before aborting the read.
--net_retry_count=# If a read on a communication port is interrupted, retry this many times before giving up.
--net_write_timeout=# Number of seconds to wait for a block to be written to a connection before aborting the write.
--one-thread(Deprecated): Only use one thread (for debugging under Linux). Use thread-handling=no-threads instead.
--open_files_limit=# If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of files.
--pid-file=namePid file used by safe_mysqld.
--plugin-load=nameOptional semicolon-separated list of plugins to load, where each plugin is identified as name=library, where name is the plugin name and library is the plugin library in plugin_dir.
--plugin_dir=nameDirectory for plugins.
-P, --port=# Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306).
--port-open-timeout=# Maximum time in seconds to wait for the port to become free. (Default: No wait).
--preload_buffer_size=# The size of the buffer that is allocated when preloading indexes.
--profiling_history_size=# Limit of query profiling memory.
--progress_report_time=# Seconds between sending progress reports to the client for slow commands. Set to 0 to disable progress. New in 5.3
--query_cache_limit=# Don't cache results that are bigger than this.
--query_cache_min_res_unit=# Minimal size of unit in which space for results is allocated (last unit will be trimmed after writing all result data).
--query_cache_size=# The memory allocated to store results from old queries.
--query_cache_type=# 0 = OFF = Don't cache or retrieve results. 1 = ON = Cache all results except SELECT SQL_NO_CACHE ... queries. 2 = DEMAND = Cache only SELECT SQL_CACHE ... queries.
--query_cache_wlock_invalidateInvalidate queries in query cache on LOCK for write.
--read_onlyMake all non-temporary tables read-only, with the exception of replication (slave) threads and users with the SUPER privilege.
--read_rnd_buffer_size=# When reading rows in sorted order after a sort, the rows are read through this buffer to avoid disk seeks. If not set, then it's set to the value of record_buffer.
--safe-show-databaseDeprecated option; use GRANT SHOW DATABASES instead.
--safe-user-createDon't allow new user creation by the user who has no write privileges to the mysql.user table.
--safemalloc-mem-limit=# Simulate memory shortage when compiled with the --with-debug=full option.
--secure-authDisallow authentication for accounts that have old (pre-4.1) passwords.
--secure-file-priv=nameLimit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory.
-O, --set-variable=nameChange the value of a variable. Please note that this option is deprecated; you can set variables directly with '--variable-name=value'.
--show-slave-auth-infoShow user and password in SHOW SLAVE HOSTS on this master.
--skip-grant-tablesStart without grant tables. This gives all users FULL ACCESS to all tables.
--skip-host-cacheDon't cache host names.
--skip-lockingDeprecated option, use --skip-external-locking instead.
--skip-name-resolveDon't resolve hostnames. All hostnames are IP's or 'localhost'.
--skip-networkingDon't allow connection with TCP/IP.
--skip-show-databaseDon't allow 'SHOW DATABASE' commands.
--skip-slave-startIf set, slave is not autostarted.
--skip-stack-traceDon't print a stack trace on failure.
--skip-symlinkDon't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links instead.
--skip-thread-priorityDon't give threads different priorities. Deprecated option.
--slow-query-logEnable/disable slow query log.
--slow_launch_time=# If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented.
--slow_query_log_file=nameLog slow queries to given log file. Defaults logging to hostname-slow.log. Must be enabled to activate other slow log options.
--socket=nameSocket file to use for connection.
--sort_buffer_size=# Each thread that needs to do a sort allocates a buffer of this size.
--sql-bin-update-same=# The update log is deprecated since version 5.0, is replaced by the binary log and this option does nothing anymore.
--sql-mode=nameSyntax: sql-mode=option[,option[,option...]] where option can be one of: REAL_AS_FLOAT, PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, ONLY_FULL_GROUP_BY, NO_UNSIGNED_SUBTRACTION.
--sslEnable SSL for connection (automatically enabled with other flags).Disable with '--skip-ssl'.
--ssl-ca=nameCA file in PEM format (check OpenSSL docs, implies --ssl).
--ssl-capath=nameCA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=nameX509 cert in PEM format (implies --ssl).
--ssl-cipher=nameSSL cipher to use (implies --ssl).
--ssl-key=nameX509 key in PEM format (implies --ssl).
-s, --symbolic-linksEnable symbolic link support.
--sync-binlog=# Synchronously flush binary log to disk after every #th event. Use 0 (default) to disable synchronous flushing.
--sync-frmSync .frm to disk on create. Enabled by default.
--table_lock_wait_timeout=# Timeout in seconds to wait for a table level lock before returning an error. Used only if the connection has active cursors.
--tc-heuristic-recover=nameDecision to use in heuristic recover process. Possible values are COMMIT or ROLLBACK.
--temp-poolUsing this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.
--test-expect-abortExpect that server aborts with 'abort'; Don't write out server variables on 'abort'. Useful only for test scripts
--test-ignore-wrong-optionsIgnore wrong enums values in command line arguments. Useful only for test scripts
--thread_cache_size=# How many threads we should keep in a cache for reuse.
--thread_concurrency=# Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.
--thread_handling=nameDefine threads usage for handling queries: one-thread-per-connection or no-threads.
--thread_pool_size=# How many threads we should create to handle query requests in case of 'thread_handling=pool-of-threads'.
--thread_stack=# The stack size for each thread.
--timed_mutexesSpecify whether to time mutexes (only InnoDB mutexes are currently supported).
--time_format=nameThe TIME format (for future).
-t, --tmpdir=namePath for temporary files. Several paths may be specified, separated by a colon (:), in this case they are used in a round-robin fashion.
--transaction-isolation=nameDefault transaction isolation level.
--transaction_alloc_block_size=# Allocation block size for transactions to be stored in binary log.
--transaction_prealloc_size=# Persistent buffer for transactions to be stored in binary log.
--updatable_views_with_limit=# 1 = YES = Don't issue an error message (warning only) if a VIEW without presence of a key of the underlying table is used in queries with a LIMIT clause for updating. 0 = NO = Prohibit update of a VIEW, which does not contain a key of the underlying table and the query uses a LIMIT clause (usually get from GUI tools).
--use-symbolic-linksEnable symbolic link support. Deprecated option; use --symbolic-links instead.
-u, --user=nameRun mysqld daemon as user.
-v, --verboseUsed with --help option for detailed help.
-V, --versionOutput version information and exit.
--wait_timeout=# The number of seconds the server waits for activity on a connection before closing it.
--warnings[=#]Deprecated; use --log-warnings instead.

Log warnings options

What is logged for the different values of log_warnings:

  • log_warnings >= 1
    • Events_schedular info and warnings
    • Access denied errors
    • Connections that was forced to be closed or aborted
    • System signals
    • Wrong usage of --user
    • Failed setrlimit() and mlockall()
    • Changed limits
    • Wrong values of lower_case_table_names and stack_size
    • Wrong values for command line options
    • Start log position and some master information when starting slaves
    • Slave reconnects
    • Killed slaves
    • Error reading relay logs
    • Statements that was unsafe to log as statement based (when BINLOG_FLAG_UNSAFE_STMT_PRINTED is also set)
    • Disabled plugins that one tried to enable or use
    • UDF's files that didn't include the required init functions.
  • log_warnings >= 2
    • Table handler errors
  • log_warnings >= 3
    • All errors and warnings during MyISAM repair and auto recover.

Default values

You can verify the default values for an option by doing:

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

The default values are at the end of this list

Commenti

Sto caricando i commenti......