All pages
Powered by GitBook
1 of 1

Loading...

System Variable Differences Between MariaDB 10.0 and MySQL 5.6

The following is a comparison of variables that either appear only in MariaDB 10.0 or MySQL 5.6, or have different default settings in MariaDB 10.0, and MySQL 5.6. MariaDB 10.0.12 and MySQL 5.6.20, with only default plugins enabled, were used for the comparison.

The most notable differences are that MariaDB includes, by default, the storage engine (resulting in extra memory allocation), uses , and has a different . For this reason, a default implementation of MariaDB 10.0 will use more memory than MySQL 5.6. MariaDB 10 and MySQL 5.6 also have different .

MariaDB's extra memory usage can be handled with the following rules of thumb:

  • If you are not using and don't plan to use :

    • Set to something very low (16K) as it's not used.

    • Set to what you think you need for handling internal tmp tables that didn't fit in memory.

    • Normally this is what before you had set for (at least 1M).

  • If you are using and not planning to use :

    • Set to what you think you need for handling internal tmp tables that didn't fit in memory.

  • If you are planning to use , you should set to something that fits a big part of your normal data + overflow temporary tables.

The large number of differences between MySQL's and MariaDB's default innodb* variables (based upon InnoDB/XtraDB differences) are not listed here. Details can be found on the page.

Comparison Table

See Also

NONE

CRC32

Specifies the type of BINLOG_CHECKSUM_ALG for log events in the .

0

-

For use in MariaDB's .

100000

-

For use in MariaDB's .

binlog_max_flush_queue_time

-

0

MySQL 5.6-only variable specifying a timeout for reading transactions from the flush queue before continuing with group commit and syncing log to disk.

ON

-

For optimized kernel thread scheduling.

binlog_order_commits

-

ON

MySQL 5.6-only variable for determining whether transactions may be committed in parallel.

binlog_row_image

-

ON

MySQL 5.6-only variable permitting partial logging.

binlog_rows_query_log_events

-

OFF

MySQL 5.6-only variable for logging extra information in row-based logging.

binlogging_impossible_mode

-

IGNORE_ERROR

MySQL 5.6-only variable, determines what happens if a write to binlog fails.

block_encryption_mode

-

aes-128-ecb

MySQL 5.6-only variable for controlling the block encryption mode for block-based algorithms.

core_file

-

OFF

MySQL 5.6-only variable indicating whether a core file will be written in case of a crash.

15

-

The Aria storage engine is only available in MariaDB

4

-

The Aria storage engine is only available in MariaDB

50000000

-

The Aria storage engine is only available in MariaDB

10000

-

The Aria storage engine is only available in MariaDB

OFF

-

Disable system thread alarm calls, for debugging or testing

empty

-

For use with MariaDB's .

empty

-

For handling incompatibilities between MariaDB's and the old regex library.

-

InnoDB

Available from

disconnect_on_expired_password

-

ON

MySQL 5.6 permits passwords to be expired.

end_markers_in_json

-

OFF

MySQL 5.6-only variable for adding end markers to JSON output

enforce_gtid_consistency

-

OFF

MariaDB and MySQL have different .

eq_range_index_dive_limit

-

10

MySQL 5.6-only variable for tuning when the optimizer should switch from using index dives to index statistics for qualifying rows estimation.

100

-

Used for determining expensive queries for optimization.

explicit_defaults_for_timestamp

-

FALSE

MySQL 5.6-only variable for handling TIMESTAMP defaults in a standard way.

1

-

Introduced in the .

0

-

Introduced in the .

empty

-

MariaDB and MySQL have different .

empty

-

MariaDB and MySQL have different .

empty

-

MariaDB and MySQL have different .

0

-

MariaDB and MySQL have different .

gtid_executed

-

empty

MariaDB and MySQL have different .

OFF

-

MariaDB and MySQL have different .

gtid_mode

-

OFF

MariaDB and MySQL have different .

gtid_next

-

AUTOMATIC

MariaDB and MySQL have different .

gtid_owned

-

empty

MariaDB and MySQL have different .

gtid_purged

-

empty

MariaDB and MySQL have different .

0

-

MariaDB and MySQL have different .

empty

-

MariaDB and MySQL have different .

OFF

-

MariaDB and MySQL have different .

MariaDB's version indicates whether YaSSL or openssl was used. MySQL's is a synonym for have_ssl.

0

-

MariaDB introduced .

SINGLE_PREC_HB

-

MariaDB introduced .

128

279 (autosized)

MySQL increments the value based on the size of .

0

-

Set to 1 if you are in a transaction, and 0 if not.

*

*

The large number of differences between MySQL's and MariaDB's default innodb* variables (based upon InnoDB/XtraDB differences) are not listed here. Details can be found on the page.

131072 (128KB)

262144 (256KB)

Minimum size of the buffer used for queries that cannot use an index, and instead perform a full table scan. MariaDB's default is sufficient for most users.

2097152

-

Maximum size in bytes of the query buffer. See .

2

-

For determining the join algorithms. See

134217728

8388608

Size of the buffer for the index blocks used by MyISAM tables and shared for all threads.

0

-

The number of segments in a key cache. See .

-

empty

MariaDB and MySQL have different .

log_bin_basename

-

empty

MySQL-only variable containing the complete path to the binary log file.

log_bin_index

-

empty

MySQL-only variable containing the index file for binary log file names.

log_bin_use_v1_row_events

-

OFF

MySQL-only variable showing whether or not MySQL's version 2 binary logging format is being used.

log_slow_admin_statements

-

OFF

MySQL-only variable determining whether or not to include slow admin statements in the slow query log.

admin, filesort, filesort_on_disk, full_join, full_scan, query_cache, query_cache_miss, tmp_table, tmp_table_on_disk

-

For slow query log filtering.

1

-

Limits the number of queries logged to the .

log_slow_slave_statements

-

OFF

MySQL-only variable determining whether or not to include slow slave statements in the slow query log.

empty

-

Controls information to be added to the . See also .

log_throttle_queries_not_using_indexes

-

0

MySQL-only variable for limiting the number of statements without indexes written to the slow query log.

master_info_repository

-

FILE

MySQL-only variable determining whether the slaves log info to file or table.

1048576

4194304

Maximum size in bytes of a packet or a generated/intermediate string. Increased in MySQL 5.6.6 to 4MB.

1048576

-

Maximum size for parameter values sent with mysql_stmt_send_long_data(). Removed in MySQL 5.6.

1073741824

0

Can be set by session in MariaDB.

4294967295

4294967295 (32-bit) or 18446744073709547520 (64-bit)

The most key seeks required when searching with an index, regardless of the actual index cardinality. If this value is set lower than its default and maximum, indexes will tend to be preferred over table scans.

4294967295

4294967295 (32-bit) or 18446744073709547520 (64-bit)

Read lock requests will be permitted for processing after this many write locks.

262144

-

Size of buffer to use when using multi-range read with range access. See .

1024

-

Block size used for index pages.

DEFAULT

OFF

MyISAM recovery mode.

134216704

8388608

Size in bytes of the buffer allocated when creating or sorting indexes on a MyISAM table.

new

-

OFF

Used for backward-compatibility with MySQL 4.1, not present in MariaDB

Empty string

-

Used for getting MariaDB to emulate behavior from an old version of MySQL or MariaDB. See .

100

-

Controls number of record samples to check condition selectivity.

A series of flags for controlling the query optimizer. MariaDB has introduced a number of new settings.

optimizer_trace

-

Off by default

MySQL 5.6-only variable for optimizer tracing.

optimizer_trace_features

-

Off by default

MySQL 5.6-only variable for optimizer tracing.

optimizer_trace_limit

-

1

MySQL 5.6-only variable for optimizer tracing.

optimizer_trace_max_mem_size

-

16384

MySQL 5.6-only variable for optimizer tracing.

optimizer_trace_offset

-

-1

MySQL 5.6-only variable for optimizer tracing.

1

-

Controls which statistics can be used by the optimizer when looking for the best query execution plan.

OFF

ON

The is off by default in MariaDB.

Many performance schema variables are autoset in MySQL.

unknown

-

Minimum acceptable plugin maturity.

5

-

Time in seconds between sending progress reports to the client for time-consuming statements.

0

1048576

MySQL and MariaDB disable the query cache by default in different manners.

OFF

-

Whether to strip any comments from the query before searching to see if it exists in the .

ON

OFF

MySQL and MariaDB disable the query cache by default in different manners.

relay_log_basename

-

empty

MySQL-only variable containing the complete path to the relay log file.

relay_log_info_repository

-

FILE

MySQL-only variable determining whether the slave's position in the relay logs is written to a file or table.

OFF

-

Tells the slave to reproduce annotate_rows_events received from the master in its own binary log.

empty string

-

See .

empty string

-

See .

replicate

-

See .

empty string

-

See .

empty string

-

See .

empty string

-

See .

empty string

-

See .

8388608

-

See .

0

-

Unused, removed in MySQL 5.6.

rpl_stop_slave_timeout

-

31536000

MySQL-only variable for controlling the time that STOP SLAVE waits before timing out.

OFF

ON

MySQL 5.6 prohibits connections from clients using the old (pre-MySQL 4.1) password format.

server_id_bits

-

server_id

MySQL-only variable for use in MySQL Cluster.

server_uuid

-

UUID

MySQL-only variable containing the UUID.

OFF

-

See .

slave_allow_batching

-

OFF

MySQL-only replication variable.

slave_checkpoint_group

-

512

MySQL-only replication variable.

slave_checkpoint_period

-

300

MySQL-only replication variable.

IDEMPOTENT

-

Modes for how replication of DDL events should be executed.

0

-

For configuring .

131072

-

For configuring .

0

-

For configuring .

slave_parallel_workers

-

0

MySQL-only replication variable.

slave_pending_jobs_size_max

-

16777216

MySQL-only replication variable.

slave_rows_search_algorithms

-

TABLE_SCAN, INDEX_SCAN

MySQL-only replication variable.

2097152

262144

The default sort buffer allocated has been reduced in MySQL.

empty

NO_ENGINE_SUBSTITUTION

MySQL 5.6 does not permit tables to be created in the default storage engine if the original is not available. See .

0

10000

MariaDB relies upon the operating system to flush the master.info file to disk.

0

10000

MariaDB relies upon the operating system to flush the relay log to disk.

0

10000

MariaDB relies upon the operating system to flush the relay-log.info file to disk.

400

-1 (autosized)

Number of table definitions that can be cached.

400

-1 (autosized)

Number of open tables for all threads. See .

-

1

Removed in MariaDB as similar results achieved in a different way.

0

-1 (autosized)

MariaDB uses an .

60

-

See .

500

-

See .

1

-

Windows-only. See .

3

-

See .

Number of processors

16*

See . *Only available in MySQL with a commercial plugin.

500

6*

See . *Only available in MySQL with a commercial plugin.

294912

196608 or 262144

See .

transaction_allow_batching

-

OFF

MySQL-only variable for enabling batching of statements within the same transaction in MySQL Cluster.

NEVER

-

Controls the use of .

OFF

-

Whether to activate MariaDB's implementation, not available in MySQL.

bundled_jemalloc

-

Version of the used malloc library.

Variable

MySQL 5.6

Notes

Variable

MariaDB 10.0

MySQL 5.6

Notes

*

-

The storage engine is only available in MariaDB.

-

127.0.0.1

MySQL has the value of the bind-address option as a variable.

OFF

-

Introduced in MariaDB 5.3 for replicating between MariaDB 5.3 and MySQL/MariaDB 5.1.

MariaDB versus MySQL - Compatibility
System Variable Differences Between MariaDB 10.2 and MySQL 5.6
System Variable Differences Between MariaDB 10.1 and MySQL 5.6
MariaDB 10.1
MariaDB versus MySQL - Compatibility
MariaDB 10.0
block-based join algorithms
block-based join algorithms
Aria
Percona's XtraDB instead of Oracle's InnoDB
thread pool implementation
GTID implementations
MyISAM
Aria
key_buffer_size
aria_pagecache_buffer_size
key_buffer_size
MyISAM
Aria
aria_pagecache_buffer_size
Aria
aria_pagecache_buffer_size
aria_*
Aria
bind_address
binlog-annotate-row-events
binlog_checksum
binary log
binlog_commit_wait_count
parallel replication
binlog_commit_wait_usec
parallel replication
binlog_optimize_thread_scheduling
deadlock_search_depth_long
deadlock_search_depth_short
deadlock_timeout_long
deadlock_timeout_short
debug_no_thread_alarm
default_master_connection
multi-source replication
default_regex_flags
PCRE
default_tmp_storage_engine
GTID implementations
expensive_subquery_limit
extra_max_connections
MariaDB 5.1 threadpool
extra_port
MariaDB 5.1 threadpool
gtid_binlog_pos
GTID implementations
gtid_binlog_state
GTID implementations
gtid_current_pos
GTID implementations
gtid_domain_id
GTID implementations
GTID implementations
gtid_ignore_duplicates
GTID implementations
GTID implementations
GTID implementations
GTID implementations
GTID implementations
gtid_seq_no
GTID implementations
gtid_slave_pos
GTID implementations
gtid_strict_mode
GTID implementations
have_openssl
histogram_size
Histogram-based Statistics
histogram_type
Histogram-based Statistics
host_cache_size
max_connections
in_transaction
innodb_*
join_buffer_size
join_buffer_space_limit
join_cache_level
key_buffer_size
key_cache_segments
Segmented Key Cache
last_gtid
GTID implementations
log_slow_filter
log_slow_rate_limit
slow query log
log_slow_verbosity
slow query log
Slow Query Log Extended Statistics
max_allowed_packet
max_long_data_size
max_relay_log_size
max_seeks_for_key
max_write_lock_count
mrr_buffer_size
Multi Range Read optimization
myisam_block_size
MyISAM
myisam_recover_options
myisam_sort_buffer_size
old_mode
OLD Mode
optimizer_selectivity_sampling_limit
optimizer_switch
See details
optimizer_use_condition_selectivity
performance_schema
Performance Schema
performance_schema_*
plugin_maturity
progress_report_time
query_cache_size
query_cache_strip_comments
query cache
query_cache_type
replicate_annotate_row_events
replicate_do_db
Dynamic Replication Variables
replicate_do_table
Dynamic Replication Variables
replicate_events_marked_for_skip
Selectively skipping replication of binlog events
replicate_ignore_db
Dynamic Replication Variables
replicate_ignore_table
Dynamic Replication Variables
replicate_wild_do_table
Dynamic Replication Variables
replicate_wild_ignore_table
Dynamic Replication Variables
rowid_merge_buff_size
Non-semi-join subquery optimizations
rpl_recovery_rank
secure_auth
skip_replication
Selectively skipping replication of binlog events
slave_ddl_exec_mode
slave_domain_parallel_threads
parallel replication
slave_parallel_max_queued
parallel replication
slave_parallel_threads
parallel replication
sort_buffer_size
sql_mode
SQL Mode
sync_master_info
sync_relay_log
sync_relay_log_info
table_definition_cache
table_open_cache
Optimizing table_open_cache
table_open_cache_instances
thread_cache_size
improved thread pool
thread_pool_idle_timeout
Using the Thread Pool in MariaDB 5.5
thread_pool_max_threads
Using the Thread Pool in MariaDB 5.5
thread_pool_min_threads
Using the Thread Pool in MariaDB 5.5
thread_pool_oversubscribe
Using the Thread Pool in MariaDB 5.5
thread_pool_size
Using the Thread Pool in MariaDB 5.5
thread_pool_stall_limit
Using the Thread Pool in MariaDB 5.5
thread_stack
Using the Thread Pool in MariaDB 5.5
use_stat_tables
engine-independent table statistics
userstat
User Statistics
version_malloc_library