This section provides information about MySQL server options, server and status variables that are specific to MySQL Cluster. For general information on using these, and for other options and variables not specific to MySQL Cluster, see Section 6.1, “The MySQL Server”.
For MySQL Cluster configuration parameters used in the cluster
configuration file (usually named
config.ini), see
Section 19.3, “Configuration of MySQL Cluster”.
This section provides descriptions of mysqld server options relating to MySQL Cluster. For information about mysqld options not specific to MySQL Cluster, and for general information about the use of options with mysqld, see Section 6.1.3, “Server Command Options”.
For information about command-line options used with other
MySQL Cluster processes (ndbd,
ndb_mgmd, and ndb_mgm),
see Section 19.4.27, “Options Common to MySQL Cluster Programs — Options Common to MySQL Cluster Programs”.
For information about command-line options used with
NDB utility programs (such as
ndb_desc, ndb_size.pl,
and ndb_show_tables), see
Section 19.4, “MySQL Cluster Programs”.
--ndb-allow-copying-alter-table=[ON|OFF]Table 19.10 Type and value information for ndb-allow-copying-alter-table
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean ON DESCRIPTION: Set to OFF to keep ALTER TABLE from using copying operations on NDB tables
Let
ALTER TABLEand other DDL statements use copying operations onNDBtables. Set toOFFto keep this from happening.-
Table 19.11 Type and value information for ndb-batch-size
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 integer 32768 / 0 - 31536000 DESCRIPTION: Size (in bytes) to use for NDB transaction batches
This sets the size in bytes that is used for NDB transaction batches.
--ndb-cluster-connection-pool=#Table 19.12 Type and value information for ndb-cluster-connection-pool
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes Yes Yes Global No NDB 7.4 integer 1 / 1 - 63 DESCRIPTION: Number of connections to the cluster used by MySQL
By setting this option to a value greater than 1 (the default), a mysqld process can use multiple connections to the cluster, effectively mimicking several SQL nodes. Each connection requires its own
[api]or[mysqld]section in the cluster configuration (config.ini) file, and counts against the maximum number of API connections supported by the cluster.Suppose that you have 2 cluster host computers, each running an SQL node whose mysqld process was started with
--ndb-cluster-connection-pool=4; this means that the cluster must have 8 API slots available for these connections (instead of 2). All of these connections are set up when the SQL node connects to the cluster, and are allocated to threads in a round-robin fashion.This option is useful only when running mysqld on host machines having multiple CPUs, multiple cores, or both. For best results, the value should be smaller than the total number of cores available on the host machine. Setting it to a value greater than this is likely to degrade performance severely.
ImportantBecause each SQL node using connection pooling occupies multiple API node slots—each slot having its own node ID in the cluster—you must not use a node ID as part of the cluster connection string when starting any mysqld process that employs connection pooling.
Setting a node ID in the connection string when using the
--ndb-cluster-connection-pooloption causes node ID allocation errors when the SQL node attempts to connect to the cluster.--ndb-cluster-connection-pool-nodeids=listTable 19.13 Type and value information for ndb-cluster-connection-pool-nodeids
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 set / DESCRIPTION: Comma-separated list of node IDs for connections to the cluster used by MySQL; the number of nodes in the list must be the same as the value set for --ndb-cluster-connection-pool
Specifies a comma-separated list of node IDs for connections to the cluster used by an SQL node. The number of nodes in this list must be the same as the value set for the
--ndb-cluster-connection-pooloption.--ndb-cluster-connection-pool-nodeidswas added in MySQL Cluster NDB 7.5.0.--ndb-blob-read-batch-bytes=bytesTable 19.14 Type and value information for ndb-blob-read-batch-bytes
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 integer 65536 / 0 - 4294967295 DESCRIPTION: Specifies size in bytes that large BLOB reads should be batched into. 0 = no limit.
This option can be used to set the size (in bytes) for batching of
BLOBdata reads in MySQL Cluster applications. When this batch size is exceeded by the amount ofBLOBdata to be read within the current transaction, any pendingBLOBread operations are immediately executed.The maximum value for this option is 4294967295; the default is 65536. Setting it to 0 has the effect of disabling
BLOBread batching.NoteIn NDB API applications, you can control
BLOBwrite batching with thesetMaxPendingBlobReadBytes()andgetMaxPendingBlobReadBytes()methods.--ndb-blob-write-batch-bytes=bytesTable 19.15 Type and value information for ndb-blob-write-batch-bytes
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 integer 65536 / 0 - 4294967295 DESCRIPTION: Specifies size in bytes that large BLOB writes should be batched into. 0 = no limit.
This option can be used to set the size (in bytes) for batching of
BLOBdata writes in MySQL Cluster applications. When this batch size is exceeded by the amount ofBLOBdata to be written within the current transaction, any pendingBLOBwrite operations are immediately executed.The maximum value for this option is 4294967295; the default is 65536. Setting it to 0 has the effect of disabling
BLOBwrite batching.NoteIn NDB API applications, you can control
BLOBwrite batching with thesetMaxPendingBlobWriteBytes()andgetMaxPendingBlobWriteBytes()methods.--ndb-connectstring=connection_stringTable 19.16 Type and value information for ndb-connectstring
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 string DESCRIPTION: Point to the management server that distributes the cluster configuration
When using the
NDBCLUSTERstorage engine, this option specifies the management server that distributes cluster configuration data. See Section 19.3.3.3, “MySQL Cluster Connection Strings”, for syntax.--ndb-deferred-constraints=[0|1]Table 19.17 Type and value information for ndb-deferred-constraints
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 integer 0 / 0 - 1 DESCRIPTION: Specifies that constraint checks on unique indexes (where these are supported) should be deferred until commit time. Not normally needed or used; for testing purposes only.
Controls whether or not constraint checks on unique indexes are deferred until commit time, where such checks are supported.
0is the default.This option is not normally needed for operation of MySQL Cluster or MySQL Cluster Replication, and is intended primarily for use in testing.
--ndb-distribution=[KEYHASH|LINHASH]Table 19.18 Type and value information for ndb-distribution
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 enumeration KEYHASH / LINHASH, KEYHASH DESCRIPTION: Default distribution for new tables in NDBCLUSTER (KEYHASH or LINHASH, default is KEYHASH)
Controls the default distribution method for
NDBtables. Can be set to either ofKEYHASH(key hashing) orLINHASH(linear hashing).KEYHASHis the default.-
Table 19.19 Type and value information for ndb-mgmd-host
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 string localhost:1186 DESCRIPTION: Set the host (and port, if desired) for connecting to management server
Can be used to set the host and port number of a single management server for the program to connect to. If the program requires node IDs or references to multiple management servers (or both) in its connection information, use the
--ndb-connectstringoption instead. -
Table 19.20 Type and value information for ndbcluster
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 boolean FALSE DESCRIPTION: Enable NDB Cluster (if this version of MySQL supports it)
Disabled by
--skip-ndbclusterThe
NDBCLUSTERstorage engine is necessary for using MySQL Cluster. If a mysqld binary includes support for theNDBCLUSTERstorage engine, the engine is disabled by default. Use the--ndbclusteroption to enable it. Use--skip-ndbclusterto explicitly disable the engine. -
Table 19.21 Type and value information for ndb-log-apply-status
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean OFF DESCRIPTION: Cause a MySQL server acting as a slave to log mysql.ndb_apply_status updates received from its immediate master in its own binary log, using its own server ID. Effective only if the server is started with the --ndbcluster option.
Causes a slave mysqld to log any updates received from its immediate master to the
mysql.ndb_apply_statustable in its own binary log using its own server ID rather than the server ID of the master. In a circular or chain replication setting, this allows such updates to propagate to themysql.ndb_apply_statustables of any MySQL servers configured as slaves of the current mysqld.In a chain replication setup, using this option allows downstream (slave) clusters to be aware of their positions relative to all of their upstream contributors (masters).
In a circular replication setup, this option causes changes to
ndb_apply_statustables to complete the entire circuit, eventually propagating back to the originating MySQL Cluster. This also allows a cluster acting as a master to see when its changes (epochs) have been applied to the other clusters in the circle.This option has no effect unless the MySQL server is started with the
--ndbclusteroption. -
Table 19.22 Type and value information for ndb-log-empty-epochs
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 boolean OFF DESCRIPTION: When enabled, causes epochs in which there were no changes to be written to the ndb_apply_status and ndb_binlog_index tables, even when --log-slave-updates is enabled.
Causes epochs during which there were no changes to be written to the
ndb_apply_statusandndb_binlog_indextables, even when--log-slave-updatesis enabled.By default this option is disabled. Disabling
--ndb-log-empty-epochscauses epoch transactions with no changes not to be written to the binary log, although a row is still written even for an empty epoch inndb_binlog_index.Because
--ndb-log-empty-epochs=1causes the size ofndb_binlog_indextable to increase independently of the size of the binary log, users should be prepared to manage the growth of this table, even if they expect the cluster to be idle a large part of the time. --ndb-log-exclusive-reads=[0|1]Table 19.23 Type and value information for ndb-log-exclusive-reads
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean 0 DESCRIPTION: Log primary key reads with exclusive locks; allow conflict resolution based on read conflicts.
Starting the server with this option causes primary key reads to be logged with exclusive locks, which allows for MySQL Cluster Replication conflict detection and resolution based on read conflicts. You can also enable and disable these locks at runtime by setting the value of the
ndb_log_exclusive_readssystem variable to 1 or 0, respectively. 0 (disable locking) is the default.For more information, see Read conflict detection and resolution.
-
Table 19.24 Type and value information for ndb-log-orig
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean OFF DESCRIPTION: Log originating server id and epoch in mysql.ndb_binlog_index table.
Log the originating server ID and epoch in the
ndb_binlog_indextable.NoteThis makes it possible for a given epoch to have multiple rows in
ndb_binlog_index, one for each originating epoch.For more information, see Section 19.6.4, “MySQL Cluster Replication Schema and Tables”.
-
Table 19.25 Type and value information for ndb-log-transaction-id
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean OFF DESCRIPTION: Write NDB transaction IDs in the binary log. Requires --log-bin-v1-events=OFF.
Causes a slave mysqld to write the NDB transaction ID in each row of the binary log. Such logging requires the use of the Version 2 event format for the binary log; thus,
--log-bin-use-v1-row-eventsmust be set toFALSEin order to use this option.This option is not supported in mainline MySQL Server 5.7. It is required to enable MySQL Cluster Replication conflict detection and resolution using the
NDB$EPOCH_TRANS()function (see NDB$EPOCH_TRANS()).The default value is
FALSE.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
-
Table 19.26 Type and value information for ndb-nodeid
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No Yes Yes Global No 5.0.45 integer / 1 - 63 5.1.5 integer / 1 - 255 DESCRIPTION: MySQL Cluster node ID for this MySQL server
Set this MySQL server's node ID in a MySQL Cluster.
The
--ndb-nodeidoption overrides any node ID set with--ndb-connectstring, regardless of the order in which the two options are used.In addition, if
--ndb-nodeidis used, then either a matching node ID must be found in a[mysqld]or[api]section ofconfig.ini, or there must be an “open”[mysqld]or[api]section in the file (that is, a section without aNodeIdorIdparameter specified). This is also true if the node ID is specified as part of the connection string.Regardless of how the node ID is determined, its is shown as the value of the global status variable
Ndb_cluster_node_idin the output ofSHOW STATUS, and ascluster_node_idin theconnectionrow of the output ofSHOW ENGINE NDBCLUSTER STATUS.For more information about node IDs for MySQL Cluster SQL nodes, see Section 19.3.3.7, “Defining SQL and Other API Nodes in a MySQL Cluster”.
--ndb_optimization_delay=millisecondsTable 19.27 Type and value information for ndb_optimization_delay
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global Yes NDB 7.4 integer 10 / 0 - 100000 DESCRIPTION: Sets the number of milliseconds to wait between processing sets of rows by OPTIMIZE TABLE on NDB tables.
Set the number of milliseconds to wait between sets of rows by
OPTIMIZE TABLEstatements onNDBtables. The default is 10.--ndb-recv-thread-activation-threshold=thresholdTable 19.28 Type and value information for ndb-recv-thread-activation-threshold
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No 5.6.10-ndb-7.3.1 integer 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD) DESCRIPTION: Activation threshold when receive thread takes over the polling of the cluster connection (measured in concurrently active threads)
When this number of concurrently active threads is reached, the receive thread takes over polling of the cluster connection.
--ndb-recv-thread-cpu-mask=bitmaskTable 19.29 Type and value information for ndb-recv-thread-cpu-mask
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 bitmap [empty] DESCRIPTION: CPU mask for locking receiver threads to specific CPUs; specified as hexadecimal. See documentation for details.
Set a CPU mask for locking receiver threads to specific CPUs. This is specified as a hexadecimal bitmask; for example,
0x33means that one CPU is used per receiver thread. An empty string (no locking of receiver threads) is the default.ndb-transid-mysql-connection-map=stateTable 19.30 Type and value information for ndb-transid-mysql-connection-map
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No No No NDB 7.4 enumeration ON / ON, OFF, FORCE DESCRIPTION: Enable or disable the ndb_transid_mysql_connection_map plugin; that is, enable or disable the INFORMATION_SCHEMA table having that name.
Enables or disables the plugin that handles the
ndb_transid_mysql_connection_maptable in theINFORMATION_SCHEMAdatabase. Takes one of the valuesON,OFF, orFORCE.ON(the default) enables the plugin.OFFdisables the plugin, which makesndb_transid_mysql_connection_mapinaccessible.FORCEkeeps the MySQL Server from starting if the plugin fails to load and start.You can see whether the
ndb_transid_mysql_connection_maptable plugin is running by checking the output ofSHOW PLUGINS.-
Table 19.31 Type and value information for ndb-wait-connected
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 integer 0 / 0 - 31536000 5.1.56-ndb-7.1.16, 5.1.56-ndb-7.0.27 integer 30 / 0 - 31536000 DESCRIPTION: Time (in seconds) for the MySQL server to wait for connection to cluster management and data nodes before accepting MySQL client connections.
This option sets the period of time that the MySQL server waits for connections to MySQL Cluster management and data nodes to be established before accepting MySQL client connections. The time is specified in seconds. The default value is
30. -
Table 19.32 Type and value information for ndb-wait-setup
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 integer 15 / 0 - 31536000 5.1.56-ndb-7.0.27, 5.1.56-ndb-7.1.16 integer 30 / 0 - 31536000 DESCRIPTION: Time (in seconds) for the MySQL server to wait for NDB engine setup to complete.
This variable shows the period of time that the MySQL server waits for the
NDBstorage engine to complete setup before timing out and treatingNDBas unavailable. The time is specified in seconds. The default value is30. -
Table 19.33 Type and value information for server-id-bits
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 integer 32 / 7 - 32 DESCRIPTION: Sets the number of least significant bits in the server_id actually used for identifying the server, permitting NDB API applications to store application data in the most significant bits. server_id must be less than 2 to the power of this value.
This option indicates the number of least significant bits within the 32-bit
server_idwhich actually identify the server. Indicating that the server is actually identified by fewer than 32 bits makes it possible for some of the remaining bits to be used for other purposes, such as storing user data generated by applications using the NDB API's Event API within theAnyValueof anOperationOptionsstructure (MySQL Cluster uses theAnyValueto store the server ID).When extracting the effective server ID from
server_idfor purposes such as detection of replication loops, the server ignores the remaining bits. The--server-id-bitsoption is used to mask out any irrelevant bits ofserver_idin the IO and SQL threads when deciding whether an event should be ignored based on the server ID.This data can be read from the binary log by mysqlbinlog, provided that it is run with its own
--server-id-bitsoption set to 32 (the default).The value of
server_idmust be less than 2 ^server_id_bits; otherwise, mysqld refuses to start.This system variable is supported only by MySQL Cluster. It is not supported in the standard MySQL 5.7 Server.
-
Table 19.34 Type and value information for skip-ndbcluster
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No DESCRIPTION: Disable the NDB Cluster storage engine
Disable the
NDBCLUSTERstorage engine. This is the default for binaries that were built withNDBCLUSTERstorage engine support; the server allocates memory and other resources for this storage engine only if the--ndbclusteroption is given explicitly. See Section 19.3.1, “Quick Test Setup of MySQL Cluster”, for an example.
This section provides detailed information about MySQL server
system variables that are specific to MySQL Cluster and the
NDB storage engine. For system
variables not specific to MySQL Cluster, see
Section 6.1.4, “Server System Variables”. For general
information on using system variables, see
Section 6.1.5, “Using System Variables”.
-
Table 19.35 Type and value information for ndb_autoincrement_prefetch_sz
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 integer 32 / 1 - 256 5.0.56 integer 1 / 1 - 256 5.1.1 integer 32 / 1 - 256 5.1.23 integer 1 / 1 - 256 5.1.16-ndb-6.2.0 integer 32 / 1 - 256 5.1.23-ndb-6.2.10 integer 1 / 1 - 256 5.1.19-ndb-6.3.0 integer 32 / 1 - 256 5.1.23-ndb-6.3.7 integer 1 / 1 - 256 5.1.41-ndb-6.3.31 integer 1 / 1 - 65536 5.1.30-ndb-6.4.0 integer 32 / 1 - 256 5.1.41-ndb-7.0.11 integer 1 / 1 - 65536 5.5.15-ndb-7.2.1 integer 1 / 1 - 65536 DESCRIPTION: NDB auto-increment prefetch size
Determines the probability of gaps in an autoincremented column. Set it to
1to minimize this. Setting it to a high value for optimization makes inserts faster, but decreases the likelihood that consecutive autoincrement numbers will be used in a batch of inserts. The mininum and default value is 1. The maximum value forndb_autoincrement_prefetch_szis 65536.This variable affects only the number of
AUTO_INCREMENTIDs that are fetched between statements; within a given statement, at least 32 IDs are obtained at a time. The default value is 1.ImportantThis variable does not affect inserts performed using
INSERT ... SELECT. -
Table 19.36 Type and value information for ndb_cache_check_time
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 integer 0 / - DESCRIPTION: Number of milliseconds between checks of cluster SQL nodes made by the MySQL query cache
The number of milliseconds that elapse between checks of MySQL Cluster SQL nodes by the MySQL query cache. Setting this to 0 (the default and minimum value) means that the query cache checks for validation on every query.
The recommended maximum value for this variable is 1000, which means that the check is performed once per second. A larger value means that the check is performed and possibly invalidated due to updates on different SQL nodes less often. It is generally not desirable to set this to a value greater than 2000.
-
Table 19.37 Type and value information for ndb_clear_apply_status
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Global Yes NDB 7.4 boolean ON DESCRIPTION: Causes RESET SLAVE to clear all rows from the ndb_apply_status table. ON by default.
By the default, executing
RESET SLAVEcauses a MySQL Cluster replication slave to purge all rows from itsndb_apply_statustable. In MySQL Cluster NDB 7.4.9 and later you can disable this by settingndb_clear_apply_status=OFF. -
Table 19.38 Type and value information for ndb_data_node_neighbour
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes 5.7.12-ndb-7.5.2 integer 0 / 0 - 255 DESCRIPTION: Specifies cluster data node "closest" to this MySQL Server, for transaction hinting and fully replicated tables
Sets the ID of a “nearest” data node, to ensure that a backup replica is also selected for placing the transaction coordinator. This used to ensure that when a fully replicated table is accessed, we access it on this data node, to ensure that the local copy of the table is always used for fully replicated tables. This can also be used for providing hints for transactions.
See Section 14.1.18.7, “Setting NDB_TABLE options in table comments”, for further information.
Added in MySQL Cluster NDB 7.5.2.
-
Table 19.39 Type and value information for ndb_deferred_constraints
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 integer 0 / 0 - 1 DESCRIPTION: Specifies that constraint checks should be deferred (where these are supported). Not normally needed or used; for testing purposes only.
Controls whether or not constraint checks are deferred, where these are supported.
0is the default.This variable is not normally needed for operation of MySQL Cluster or MySQL Cluster Replication, and is intended primarily for use in testing.
-
Table 19.40 Type and value information for ndb_distribution
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 enumeration KEYHASH / LINHASH, KEYHASH DESCRIPTION: Default distribution for new tables in NDBCLUSTER (KEYHASH or LINHASH, default is KEYHASH)
Controls the default distribution method for
NDBtables. Can be set to either ofKEYHASH(key hashing) orLINHASH(linear hashing).KEYHASHis the default. -
Table 19.41 Type and value information for ndb_eventbuffer_free_percent
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 integer 20 / 1 - 99 DESCRIPTION: Percentage of free memory that should be available in event buffer before resumption of buffering, after reaching limit set by ndb_eventbuffer_max_alloc.
Sets the percentage of the maximum memory allocated to the event buffer (ndb_eventbuffer_max_alloc) that should be available in event buffer after reaching the maximum, before starting to buffer again.
-
Table 19.42 Type and value information for ndb_eventbuffer_max_alloc
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 integer 0 / 0 - 4294967295 DESCRIPTION: Maximum memory that can be allocated for buffering events by the NDB API. Defaults to 0 (no limit).
Sets the maximum amount memory (in bytes) that can be allocated for buffering events by the NDB API. 0 means that no limit is imposed, and is the default.
-
Table 19.43 Type and value information for ndb_extra_logging
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 integer 0 / - 5.1.19-ndb-6.3.0 integer 1 / - DESCRIPTION: Controls logging of MySQL Cluster schema, connection, and data distribution events in the MySQL error log
This variable enables recording in the MySQL error log of information specific to the
NDBstorage engine.When this variable is set to 0, the only information specific to
NDBthat is written to the MySQL error log relates to transaction handling. If it set to a value greater than 0 but less than 10,NDBtable schema and connection events are also logged, as well as whether or not conflict resolution is in use, and otherNDBerrors and information. If the value is set to 10 or more, information aboutNDBinternals, such as the progress of data distribution among cluster nodes, is also written to the MySQL error log. The default is 1. -
Table 19.44 Type and value information for ndb_force_send
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean TRUE DESCRIPTION: Forces sending of buffers to NDB immediately, without waiting for other threads
Forces sending of buffers to
NDBimmediately, without waiting for other threads. Defaults toON. -
Table 19.45 Type and value information for ndb_fully_replicated
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes 5.7.12-ndb-7-5-2 boolean OFF DESCRIPTION: Whether new NDB tables are fully replicated
Determines whether new
NDBtables are fully replicated. This setting can be overridden for an individual table usingCOMMENT="NDB_TABLE=FULLY_REPLICATED=..."in aCREATE TABLEorALTER TABLEstatement; see Section 14.1.18.7, “Setting NDB_TABLE options in table comments”, for syntax and other information.Added in MySQL Cluster NDB 7.5.2.
-
Table 19.46 Type and value information for ndb_index_stat_enable
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean OFF 5.5.15-ndb-7.2.1 boolean ON DESCRIPTION: Use NDB index statistics in query optimization
Use
NDBindex statistics in query optimization. The default isON. -
Table 19.47 Type and value information for ndb_index_stat_option
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 string loop_enable=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=8, check_delay=10m,delete_batch=8, clean_delay=1m,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90,zero_total=0 5.1.56-ndb-7.1.17 string loop_checkon=1000ms,loop_idle=1000ms,loop_busy=100ms, update_batch=1,read_batch=4,idle_batch=32,check_batch=32, check_delay=1m,delete_batch=8,clean_delay=0,error_batch=4, error_delay=1m,evict_batch=8,evict_delay=1m,cache_limit=32M, cache_lowpct=90 DESCRIPTION: Comma-separated list of tunable options for NDB index statistics; the list should contain no spaces
This variable is used for providing tuning options for NDB index statistics generation. The list consist of comma-separated name-value pairs of option names and values, and this list must not contain any space characters.
Options not used when setting
ndb_index_stat_optionare not changed from their default values. For example, you can setndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'.Time values can be optionally suffixed with
h(hours),m(minutes), ors(seconds). Millisecond values can optionally be specified usingms; millisecond values cannot be specified usingh,m, ors.) Integer values can be suffixed withK,M, orG.The names of the options that can be set using this variable are shown in the table that follows. The table also provides brief descriptions of the options, their default values, and (where applicable) their minimum and maximum values.
Name Description Default/Units Minimum/Maximum loop_enable1000 ms 0/4G loop_idleTime to sleep when idle 1000 ms 0/4G loop_busyTime to sleep when more work is waiting 100 ms 0/4G update_batch1 0/4G read_batch4 1/4G idle_batch32 1/4G check_batch8 1/4G check_delayHow often to check for new statistics 10 m 1/4G delete_batch8 0/4G clean_delay1 m 0/4G error_batch4 1/4G error_delay1 m 1/4G evict_batch8 1/4G evict_delayClean LRU cache, from read time 1 m 0/4G cache_limitMaximum amount of memory in bytes used for cached index statistics by this mysqld; clean up the cache when this is exceeded. 32 M 0/4G cache_lowpct90 0/100 zero_totalSetting this to 1 resets all accumulating counters in ndb_index_stat_statusto 0. This option value is also reset to 0 when this is done.0 0/1 -
Table 19.48 Type and value information for ndb_join_pushdown
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Both Yes 5.1.51-ndb-7.2.0 boolean TRUE DESCRIPTION: Enables pushing down of joins to data nodes
This variable controls whether joins on
NDBtables are pushed down to the NDB kernel (data nodes). Previously, a join was handled using multiple accesses ofNDBby the SQL node; however, whenndb_join_pushdownis enabled, a pushable join is sent in its entirety to the data nodes, where it can be distributed among the data nodes and executed in parallel on multiple copies of the data, with a single, merged result being returned to mysqld. This can reduce greatly the number of round trips between an SQL node and the data nodes required to handle such a join.By default,
ndb_join_pushdownis enabled.Conditions for NDB pushdown joins. In order for a join to be pushable, it must meet the following conditions:
Only columns can be compared, and all columns to be joined must use exactly the same data type.
This means that expressions such as
t1.a = t2.a +cannot be pushed down, and that (for example) a join on anconstantINTcolumn and aBIGINTcolumn also cannot be pushed down.Explicit locking is not supported; however, the
NDBstorage engine's characteristic implicit row-based locking is enforced.This means that a join using
FOR UPDATEcannot be pushed down.In order for a join to be pushed down, child tables in the join must be accessed using one of the
ref,eq_ref, orconstaccess methods, or some combination of these methods.Outer joined child tables can only be pushed using
eq_ref.If the root of the pushed join is an
eq_reforconst, only child tables joined byeq_refcan be appended. (A table joined byrefis likely to become the root of another pushed join.)If the query optimizer decides on
Using join cachefor a candidate child table, that table cannot be pushed as a child. However, it may be the root of another set of pushed tables.Joins referencing tables explicitly partitioned by
[LINEAR] HASH,LIST, orRANGEcurrently cannot be pushed down.
You can see whether a given join can be pushed down by checking it with
EXPLAIN; when the join can be pushed down, you can see references to thepushed joinin theExtracolumn of the output, as shown in this example:mysql>
EXPLAIN->SELECT e.first_name, e.last_name, t.title, d.dept_name->FROM employees e->JOIN dept_emp de ON e.emp_no=de.emp_no->JOIN departments d ON d.dept_no=de.dept_no->JOIN titles t ON e.emp_no=t.emp_no\G*************************** 1. row *************************** id: 1 select_type: SIMPLE table: d type: ALL possible_keys: PRIMARY key: NULL key_len: NULL ref: NULL rows: 9 Extra: Parent of 4 pushed join@1 *************************** 2. row *************************** id: 1 select_type: SIMPLE table: de type: ref possible_keys: PRIMARY,emp_no,dept_no key: dept_no key_len: 4 ref: employees.d.dept_no rows: 5305 Extra: Child of 'd' in pushed join@1 *************************** 3. row *************************** id: 1 select_type: SIMPLE table: e type: eq_ref possible_keys: PRIMARY key: PRIMARY key_len: 4 ref: employees.de.emp_no rows: 1 Extra: Child of 'de' in pushed join@1 *************************** 4. row *************************** id: 1 select_type: SIMPLE table: t type: ref possible_keys: PRIMARY,emp_no key: emp_no key_len: 4 ref: employees.de.emp_no rows: 19 Extra: Child of 'e' in pushed join@1 4 rows in set (0.00 sec)NoteIf inner joined child tables are joined by
ref, and the result is ordered or grouped by a sorted index, this index cannot provide sorted rows, which forces writing to a sorted tempfile.Two additional sources of information about pushed join performance are available:
The status variables
Ndb_pushed_queries_defined,Ndb_pushed_queries_dropped,Ndb_pushed_queries_executed, andNdb_pushed_reads.The counters in the
ndbinfo.counterstable that belong to theDBSPJkernel block. See Section 19.5.10.8, “The ndbinfo counters Table”, for information about these counters. See also The DBSPJ Block, in the MySQL Cluster API Developer Guide.
-
Table 19.49 Type and value information for ndb_log_apply_status
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean OFF DESCRIPTION: Whether or not a MySQL server acting as a slave logs mysql.ndb_apply_status updates received from its immediate master in its own binary log, using its own server ID.
A read-only variable which shows whether the server was started with the
--ndb-log-apply-statusoption. -
Table 19.50 Type and value information for ndb_log_bin
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Both Yes NDB 7.4 boolean ON DESCRIPTION: Write updates to NDB tables in the binary log. Effective only if binary logging is enabled with --log-bin.
Causes updates to
NDBtables to be written to the binary log. Setting this variable has no effect if binary logging is not already enabled for the server usinglog_bin.ndb_log_bindefaults to 1 (ON); normally, there is never any need to change this value in a production environment. -
Table 19.51 Type and value information for ndb_log_binlog_index
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Global Yes NDB 7.4 boolean ON DESCRIPTION: Insert mapping between epochs and binary log positions into the ndb_binlog_index table. Defaults to ON. Effective only if binary logging is enabled on the server.
Causes a mapping of epochs to positions in the binary log to be inserted into the
ndb_binlog_indextable. Setting this variable has no effect if binary logging is not already enabled for the server usinglog_bin. (In addition,ndb_log_binmust not be disabled.)ndb_log_binlog_indexdefaults to1(ON); normally, there is never any need to change this value in a production environment. -
Table 19.52 Type and value information for ndb_log_empty_epochs
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 boolean OFF DESCRIPTION: When enabled, epochs in which there were no changes are written to the ndb_apply_status and ndb_binlog_index tables, even when log_slave_updates is enabled.
When this variable is set to 0, epoch transactions with no changes are not written to the binary log, although a row is still written even for an empty epoch in
ndb_binlog_index. -
Table 19.53 Type and value information for ndb_log_exclusive_reads
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean 0 DESCRIPTION: Log primary key reads with exclusive locks; allow conflict resolution based on read conflicts.
This variable determines whether primary key reads are logged with exclusive locks, which allows for MySQL Cluster Replication conflict detection and resolution based on read conflicts. To enable these locks, set the value of
ndb_log_exclusive_readsto 1. 0, which disables such locking, is the default.For more information, see Read conflict detection and resolution.
-
Table 19.54 Type and value information for ndb_log_orig
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean OFF DESCRIPTION: Whether the id and epoch of the originating server are recorded in the mysql.ndb_binlog_index table. Set using the --ndb-log-orig option when starting mysqld.
Shows whether the originating server ID and epoch are logged in the
ndb_binlog_indextable. Set using the--ndb-log-origserver option. -
Table 19.55 Type and value information for ndb_log_transaction_id
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global No NDB 7.4 boolean OFF DESCRIPTION: Whether NDB transaction IDs are written into the binary log. (Read-only.)
This read-only, Boolean system variable shows whether a slave mysqld writes NDB transaction IDs in the binary log (required to use “active-active” MySQL Cluster Replication with
NDB$EPOCH_TRANS()conflict detection). To change the setting, use the--ndb-log-transaction-idoption.ndb_log_transaction_idis not supported in mainline MySQL Server 5.7.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
-
Table 19.56 Type and value information for ndb_optimized_node_selection
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 boolean ON 5.1.22-ndb-6.3.4 integer 3 / 0 - 3 DESCRIPTION: Determines how an SQL node chooses a cluster data node to use as transaction coordinator
There are two forms of optimized node selection, described here:
The SQL node uses promixity to determine the transaction coordinator; that is, the “closest” data node to the SQL node is chosen as the transaction coordinator. For this purpose, a data node having a shared memory connection with the SQL node is considered to be “closest” to the SQL node; the next closest (in order of decreasing proximity) are: TCP connection to
localhost; SCI connection; TCP connection from a host other thanlocalhost.The SQL thread uses distribution awareness to select the data node. That is, the data node housing the cluster partition accessed by the first statement of a given transaction is used as the transaction coordinator for the entire transaction. (This is effective only if the first statement of the transaction accesses no more than one cluster partition.)
This option takes one of the integer values
0,1,2, or3.3is the default. These values affect node selection as follows:0: Node selection is not optimized. Each data node is employed as the transaction coordinator 8 times before the SQL thread proceeds to the next data node.1: Proximity to the SQL node is used to determine the transaction coordinator.2: Distribution awareness is used to select the transaction coordinator. However, if the first statement of the transaction accesses more than one cluster partition, the SQL node reverts to the round-robin behavior seen when this option is set to0.3: If distribution awareness can be employed to determine the transaction coordinator, then it is used; otherwise proximity is used to select the transaction coordinator. (This is the default behavior.)
-
Table 19.57 Type and value information for ndb_read_backup
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes 5.7.12-ndb-7.5.2 boolean OFF DESCRIPTION: Enable read from any replica
Enable read from any replica for any
NDBtable subsequently created.Added in MySQL Cluster NDB 7.5.2.
ndb_recv_thread_activation_thresholdTable 19.58 Type and value information for ndb_recv_thread_activation_threshold
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No No No No No 5.6.10-ndb-7.3.1 integer 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD) DESCRIPTION: Activation threshold when receive thread takes over the polling of the cluster connection (measured in concurrently active threads)
When this number of concurrently active threads is reached, the receive thread takes over polling of the cluster connection.
This variable is global in scope. It can also be set on startup using the
--ndb-recv-thread-activation-thresholdoption.-
Table 19.59 Type and value information for ndb_recv_thread_cpu_mask
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global Yes NDB 7.4 bitmap [empty] DESCRIPTION: CPU mask for locking receiver threads to specific CPUs; specified as hexadecimal. See documentation for details.
CPU mask for locking receiver threads to specific CPUs. This is specified as a hexadecimal bitmask; for example,
0x33means that one CPU is used per receiver thread. An empty string is the default; settingndb_recv_thread_cpu_maskto this value removes any receiver thread locks previously set.This variable is global in scope. It can also be set on startup using the
--ndb-recv-thread-cpu-maskoption. ndb_report_thresh_binlog_epoch_slipTable 19.60 Type and value information for ndb_report_thresh_binlog_epoch_slip
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 integer 3 / 0 - 256 DESCRIPTION: This is a threshold on the number of epochs to be behind before reporting binary log status
This is a threshold on the number of epochs to be behind before reporting binary log status. For example, a value of
3(the default) means that if the difference between which epoch has been received from the storage nodes and which epoch has been applied to the binary log is 3 or more, a status message will be sent to the cluster log.ndb_report_thresh_binlog_mem_usageTable 19.61 Type and value information for ndb_report_thresh_binlog_mem_usage
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes No No Yes No NDB 7.4 integer 10 / 0 - 10 DESCRIPTION: This is a threshold on the percentage of free memory remaining before reporting binary log status
This is a threshold on the percentage of free memory remaining before reporting binary log status. For example, a value of
10(the default) means that if the amount of available memory for receiving binary log data from the data nodes falls below 10%, a status message will be sent to the cluster log.-
Table 19.62 Type and value information for slave_allow_batching
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 boolean off DESCRIPTION: Turns update batching on and off for a replication slave
Whether or not batched updates are enabled on MySQL Cluster replication slaves.
Currently, this variable is available for mysqld only as supplied with MySQL Cluster or built from the MySQL Cluster sources. For more information, see Section 19.6.6, “Starting MySQL Cluster Replication (Single Replication Channel)”.
ndb_show_foreign_key_mock_tablesTable 19.63 Type and value information for ndb_show_foreign_key_mock_tables
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 boolean OFF DESCRIPTION: Show the mock tables used to support foreign_key_checks=0.
Show the mock tables used by
NDBto supportforeign_key_checks=0. When this is enabled, extra warnings are shown when creating and dropping the tables. The real (internal) name of the table can be seen in the output ofSHOW CREATE TABLE.-
Table 19.64 Type and value information for ndb_slave_conflict_role
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global Yes NDB 7.4 enumeration NONE / NONE, PRIMARY, SECONDARY, PASS DESCRIPTION: Role for slave to play in conflict detection and resolution. Value is one of PRIMARY, SECONDARY, PASS, or NONE (default). Can be changed only when slave SQL thread is stopped. See documentation for further information.
Determine the role of this SQL node (and MySQL Cluster) in a circular (“active-active”) replication setup.
ndb_slave_conflict_rolecan take any one of the valuesPRIMARY,SECONDARY,PASS, orNULL(the default). The slave SQL thread must be stopped before you can changendb_slave_conflict_role. In addition, it is not possible to change directly betweenPASSand either ofPRIMARYorSECONDARYdirectly; in such cases, you must ensure that the SQL thread is stopped, then executeSET @@GLOBAL.ndb_slave_conflict_role = 'NONE'first.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
-
Table 19.65 Type and value information for ndb_table_no_logging
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Session Yes NDB 7.4 boolean FALSE DESCRIPTION: NDB tables created when this setting is enabled are not checkpointed to disk (although table schema files are created). The setting in effect when the table is created with or altered to use NDBCLUSTER persists for the lifetime of the table.
When this variable is set to
ONor1, it causesNDBtables not to be checkpointed to disk. More specifically, this setting applies to tables which are created or altered usingENGINE NDBwhenndb_table_no_loggingis enabled, and continues to apply for the lifetime of the table, even ifndb_table_no_loggingis later changed. Suppose thatA,B,C, andDare tables that we create (and perhaps also alter), and that we also change the setting forndb_table_no_loggingas shown here:SET @@ndb_table_no_logging = 1; CREATE TABLE A ... ENGINE NDB; CREATE TABLE B ... ENGINE MYISAM; CREATE TABLE C ... ENGINE MYISAM; ALTER TABLE B ENGINE NDB; SET @@ndb_table_no_logging = 0; CREATE TABLE D ... ENGINE NDB; ALTER TABLE C ENGINE NDB; SET @@ndb_table_no_logging = 1;
After the previous sequence of events, tables
AandBare not checkpointed;Awas created withENGINE NDBand B was altered to useNDB, both whilendb_table_no_loggingwas enabled. However, tablesCandDare logged;Cwas altered to useNDBandDwas created usingENGINE NDB, both whilendb_table_no_loggingwas disabled. Settingndb_table_no_loggingback to1orONdoes not cause tableCorDto be checkpointed.Notendb_table_no_logginghas no effect on the creation ofNDBtable schema files; to suppress these, usendb_table_temporaryinstead. -
Table 19.66 Type and value information for ndb_table_temporary
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Session Yes NDB 7.4 boolean FALSE DESCRIPTION: NDB tables are not persistent on disk: no schema files are created and the tables are not logged
When set to
ONor1, this variable causesNDBtables not to be written to disk: This means that no table schema files are created, and that the tables are not logged.NoteSetting this variable currently has no effect. This is a known issue; see Bug #34036.
-
Table 19.67 Type and value information for ndb_use_copying_alter_table
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Both No DESCRIPTION: Use copying ALTER TABLE operations in MySQL Cluster
Forces
NDBto use copying of tables in the event of problems with onlineALTER TABLEoperations. The default value isOFF. -
Table 19.68 Type and value information for ndb_use_exact_count
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Both Yes NDB 7.4 boolean ON 5.1.47-ndb-7.1.8 boolean OFF DESCRIPTION: Use exact row count when planning queries
Forces
NDBto use a count of records duringSELECT COUNT(*)query planning to speed up this type of query. The default value isOFF, which allows for faster queries overall. -
Table 19.69 Type and value information for ndb_use_transactions
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Both Yes NDB 7.4 boolean ON DESCRIPTION: Forces NDB to use a count of records during SELECT COUNT(*) query planning to speed up this type of query
You can disable
NDBtransaction support by setting this variable's values toOFF(not recommended). The default isON. -
Table 19.70 Type and value information for ndb_version
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global No NDB 7.4 string DESCRIPTION: Shows build and NDB engine version as an integer.
NDBengine version, as a composite integer. -
Table 19.71 Type and value information for ndb_version_string
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global No NDB 7.4 string DESCRIPTION: Shows build information including NDB engine version in ndb-x.y.z format.
NDBengine version inndb-format.x.y.z -
Table 19.72 Type and value information for server_id_bits
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No Yes Global No NDB 7.4 integer 32 / 7 - 32 DESCRIPTION: The effective value of server_id if the server was started with the --server-id-bits option set to a nondefault value.
The effective value of
server_idif the server was started with the--server-id-bitsoption set to a nondefault value.If the value of
server_idgreater than or equal to 2 to the power ofserver_id_bits, mysqld refuses to start.This system variable is supported only by MySQL Cluster.
server_id_bitsis not supported by the standard MySQL Server. -
Table 19.73 Type and value information for transaction_allow_batching
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Session Yes NDB 7.4 boolean FALSE DESCRIPTION: Allows batching of statements within a transaction. Disable AUTOCOMMIT to use.
When set to
1orON, this variable enables batching of statements within the same transaction. To use this variable,autocommitmust first be disabled by setting it to0orOFF; otherwise, settingtransaction_allow_batchinghas no effect.It is safe to use this variable with transactions that performs writes only, as having it enabled can lead to reads from the “before” image. You should ensure that any pending transactions are committed (using an explicit
COMMITif desired) before issuing aSELECT.Importanttransaction_allow_batchingshould not be used whenever there is the possibility that the effects of a given statement depend on the outcome of a previous statement within the same transaction.This variable is currently supported for MySQL Cluster only.
The system variables in the following list all relate to the
ndbinfo information
database.
-
Table 19.74 Type and value information for ndbinfo_database
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global No NDB 7.4 string ndbinfo DESCRIPTION: The name used for the NDB information database; read only.
Shows the name used for the
NDBinformation database; the default isndbinfo. This is a read-only variable whose value is determined at compile time; you can set it by starting the server using--ndbinfo-database=, which sets the value shown for this variable but does not actually change the name used for the NDB information database.name -
Table 19.75 Type and value information for ndbinfo_max_bytes
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Both Yes NDB 7.4 integer 0 / - DESCRIPTION: Used for debugging only.
Used in testing and debugging only.
-
Table 19.76 Type and value information for ndbinfo_max_rows
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Both Yes NDB 7.4 integer 10 / - DESCRIPTION: Used for debugging only.
Used in testing and debugging only.
-
Table 19.77 Type and value information for ndbinfo_offline
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global Yes NDB 7.4 boolean OFF DESCRIPTION: Put the ndbinfo database into offline mode, in which no rows are returned from tables or views.
Place the
ndbinfodatabase into offline mode, in which tables and views can be opened even when they do not actually exist, or when they exist but have different definitions inNDB. No rows are returned from such tables (or views). -
Whether or not the
ndbinfodatabase's underlying internal tables are shown in themysqlclient. The default isOFF. -
Table 19.79 Type and value information for ndbinfo_table_prefix
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes Yes Yes No No Both Yes NDB 7.4 string ndb$ DESCRIPTION: The prefix to use for naming ndbinfo internal base tables
The prefix used in naming the ndbinfo database's base tables (normally hidden, unless exposed by setting
ndbinfo_show_hidden). This is a read-only variable whose default value is “ndb$”. You can start the server with the--ndbinfo-table-prefixoption, but this merely sets the variable and does not change the actual prefix used to name the hidden base tables; the prefix itself is determined at compile time. -
Table 19.80 Type and value information for ndbinfo_version
Command Line System Variable Status Variable Option File Scope Dynamic From Version Type Default, Range Notes No Yes No No Global No NDB 7.4 string DESCRIPTION: The version of the ndbinfo engine; read only.
Shows the version of the
ndbinfoengine in use; read-only.
This section provides detailed information about MySQL server
status variables that relate to MySQL Cluster and the
NDB storage engine. For status
variables not specific to MySQL Cluster, and for general
information on using status variables, see
Section 6.1.6, “Server Status Variables”.
The MySQL server can ask the
NDBCLUSTERstorage engine if it knows about a table with a given name. This is called discovery.Handler_discoverindicates the number of times that tables have been discovered using this mechanism.Ndb_api_bytes_sent_count_sessionAmount of data (in bytes) sent to the data nodes in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_bytes_sent_count_slaveAmount of data (in bytes) sent to the data nodes by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Amount of data (in bytes) sent to the data nodes by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_bytes_received_count_sessionAmount of data (in bytes) received from the data nodes in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_bytes_received_count_slaveAmount of data (in bytes) received from the data nodes by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Amount of data (in bytes) received from the data nodes by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_event_data_count_injectorThe number of row change events received by the NDB binlog injector thread.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of row change events received by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_event_nondata_count_injectorThe number of events received, other than row change events, by the NDB binary log injector thread.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of events received, other than row change events, by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_event_bytes_count_injectorThe number of bytes of events received by the NDB binlog injector thread.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of bytes of events received by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations in this client session based on or using primary keys. This includes operations on blob tables, implicit unlock operations, and auto-increment operations, as well as user-visible primary key operations.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations by this slave based on or using primary keys. This includes operations on blob tables, implicit unlock operations, and auto-increment operations, as well as user-visible primary key operations.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations by this MySQL Server (SQL node) based on or using primary keys. This includes operations on blob tables, implicit unlock operations, and auto-increment operations, as well as user-visible primary key operations.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_pruned_scan_count_sessionThe number of scans in this client session that have been pruned to a single partition.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_pruned_scan_count_slaveThe number of scans by this slave that have been pruned to a single partition.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of scans by this MySQL Server (SQL node) that have been pruned to a single partition.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_range_scan_count_sessionThe number of range scans that have been started in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_range_scan_count_slaveThe number of range scans that have been started by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of range scans that have been started by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_read_row_count_sessionThe total number of rows that have been read in this client session. This includes all rows read by any primary key, unique key, or scan operation made in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The total number of rows that have been read by this slave. This includes all rows read by any primary key, unique key, or scan operation made by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The total number of rows that have been read by this MySQL Server (SQL node). This includes all rows read by any primary key, unique key, or scan operation made by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_scan_batch_count_sessionThe number of batches of rows received in this client session. 1 batch is defined as 1 set of scan results from a single fragment.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_scan_batch_count_slaveThe number of batches of rows received by this slave. 1 batch is defined as 1 set of scan results from a single fragment.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of batches of rows received by this MySQL Server (SQL node). 1 batch is defined as 1 set of scan results from a single fragment.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_table_scan_count_sessionThe number of table scans that have been started in this client session, including scans of internal tables,.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_table_scan_count_slaveThe number of table scans that have been started by this slave, including scans of internal tables,.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of table scans that have been started by this MySQL Server (SQL node), including scans of internal tables,.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_abort_count_sessionThe number of transactions aborted in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_abort_count_slaveThe number of transactions aborted by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of transactions aborted by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_close_count_sessionThe number of transactions closed in this client session. This value may be greater than the sum of
Ndb_api_trans_commit_count_sessionandNdb_api_trans_abort_count_session, since some transactions may have been rolled back.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_close_count_slaveThe number of transactions closed by this slave. This value may be greater than the sum of
Ndb_api_trans_commit_count_slaveandNdb_api_trans_abort_count_slave, since some transactions may have been rolled back.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of transactions closed by this MySQL Server (SQL node). This value may be greater than the sum of
Ndb_api_trans_commit_countandNdb_api_trans_abort_count, since some transactions may have been rolled back.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_commit_count_sessionThe number of transactions committed in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_commit_count_slaveThe number of transactions committed by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of transactions committed by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_local_read_row_count_sessionThe total number of rows that have been read in this client session. This includes all rows read by any primary key, unique key, or scan operation made in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_local_read_row_count_slaveThe total number of rows that have been read by this slave. This includes all rows read by any primary key, unique key, or scan operation made by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_local_read_row_countThe total number of rows that have been read by this MySQL Server (SQL node). This includes all rows read by any primary key, unique key, or scan operation made by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_start_count_sessionThe number of transactions started in this client session.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_trans_start_count_slaveThe number of transactions started by this slave.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of transactions started by this MySQL Server (SQL node).
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations in this client session based on or using unique keys.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations by this slave based on or using unique keys.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
The number of operations by this MySQL Server (SQL node) based on or using unique keys.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_exec_complete_count_sessionThe number of times a thread has been blocked in this client session while waiting for execution of an operation to complete. This includes all
execute()calls as well as implicit implicit executes for blob and auto-increment operations not visible to clients.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_exec_complete_count_slaveThe number of times a thread has been blocked by this slave while waiting for execution of an operation to complete. This includes all
execute()calls as well as implicit implicit executes for blob and auto-increment operations not visible to clients.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_exec_complete_countThe number of times a thread has been blocked by this MySQL Server (SQL node) while waiting for execution of an operation to complete. This includes all
execute()calls as well as implicit implicit executes for blob and auto-increment operations not visible to clients.Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_meta_request_count_sessionThe number of times a thread has been blocked in this client session waiting for a metadata-based signal, such as is expected for DDL requests, new epochs, and seizure of transaction records.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_meta_request_count_slaveThe number of times a thread has been blocked by this slave waiting for a metadata-based signal, such as is expected for DDL requests, new epochs, and seizure of transaction records.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_meta_request_countThe number of times a thread has been blocked by this MySQL Server (SQL node) waiting for a metadata-based signal, such as is expected for DDL requests, new epochs, and seizure of transaction records.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_nanos_count_sessionTotal time (in nanoseconds) spent in this client session waiting for any type of signal from the data nodes.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_nanos_count_slaveTotal time (in nanoseconds) spent by this slave waiting for any type of signal from the data nodes.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Total time (in nanoseconds) spent by this MySQL Server (SQL node) waiting for any type of signal from the data nodes.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_scan_result_count_sessionThe number of times a thread has been blocked in this client session while waiting for a scan-based signal, such as when waiting for more results from a scan, or when waiting for a scan to close.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it relates to the current session only, and is not affected by any other clients of this mysqld.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_scan_result_count_slaveThe number of times a thread has been blocked by this slave while waiting for a scan-based signal, such as when waiting for more results from a scan, or when waiting for a scan to close.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope. If this MySQL server does not act as a replication slave, or does not use NDB tables, this value is always 0.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
Ndb_api_wait_scan_result_countThe number of times a thread has been blocked by this MySQL Server (SQL node) while waiting for a scan-based signal, such as when waiting for more results from a scan, or when waiting for a scan to close.
Although this variable can be read using either
SHOW GLOBAL STATUSorSHOW SESSION STATUS, it is effectively global in scope.For more information, see Section 19.5.16, “NDB API Statistics Counters and Variables”.
If the server is acting as a MySQL Cluster node, then the value of this variable its node ID in the cluster.
If the server is not part of a MySQL Cluster, then the value of this variable is 0.
If the server is part of a MySQL Cluster, the value of this variable is the host name or IP address of the Cluster management server from which it gets its configuration data.
If the server is not part of a MySQL Cluster, then the value of this variable is an empty string.
If the server is part of a MySQL Cluster, the value of this variable is the number of the port through which it is connected to the Cluster management server from which it gets its configuration data.
If the server is not part of a MySQL Cluster, then the value of this variable is 0.
Shows the number of times that a row was rejected on the current SQL node due to MySQL Cluster Replication conflict resolution using
NDB$MAX_DELETE_WIN(), since the last time that this mysqld was started.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Used in MySQL Cluster Replication conflict resolution, this variable shows the number of times that a row was not applied on the current SQL node due to “greatest timestamp wins” conflict resolution since the last time that this mysqld was started.
For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Used in MySQL Cluster Replication conflict resolution, this variable shows the number of times that a row was not applied as the result of “same timestamp wins” conflict resolution on a given mysqld since the last time it was restarted.
For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Used in MySQL Cluster Replication conflict resolution, this variable shows the number of rows found to be in conflict using
NDB$EPOCH()conflict resolution on a given mysqld since the last time it was restarted.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Shows the number of rows found to be in conflict in MySQL Cluster Replication conflict resolution, when using
NDB$EPOCH2(), on the master designated as the primary since the last time it was restarted.For more information, see NDB$EPOCH2().
Used in MySQL Cluster Replication conflict resolution, this variable shows the number of rows found to be in conflict using
NDB$EPOCH_TRANS()conflict resolution on a given mysqld since the last time it was restarted.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Used in MySQL Cluster Replication conflict resolution, this variable shows the number of rows found to be in conflict using
NDB$EPOCH_TRANS2()conflict resolution on a given mysqld since the last time it was restarted.For more information, see NDB$EPOCH2_TRANS().
Ndb_conflict_last_conflict_epochThe most recent epoch in which a conflict was detected on this slave. You can compare this value with
Ndb_slave_max_replicated_epoch; ifNdb_slave_max_replicated_epochis greater thanNdb_conflict_last_conflict_epoch, no conflicts have yet been detected.See Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”, for more information.
Ndb_conflict_reflected_op_discard_countWhen using MySQL Cluster Replication conflict resolution, this is the number of reflected operations that were not applied on the secondary, due to encountering an error during execution.
See Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”, for more information.
Ndb_conflict_reflected_op_prepare_countWhen using conflict resolution with MySQL Cluster Replication, this status variable contains the number of reflected operations that have been defined (that is, prepared for execution on the secondary).
See Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
When using conflict resolution with MySQL Cluster Replication, this gives the number of refresh operations that have been prepared for execution on the secondary.
See Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”, for more information.
Ndb_conflict_last_stable_epochNumber of rows found to be in conflict by a transactional conflict function
See Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”, for more information.
Ndb_conflict_trans_row_conflict_countUsed in MySQL Cluster Replication conflict resolution, this status variable shows the number of rows found to be directly in-conflict by a transactional conflict function on a given mysqld since the last time it was restarted.
Currently, the only transactional conflict detection function supported by MySQL Cluster is NDB$EPOCH_TRANS(), so this status variable is effectively the same as
Ndb_conflict_fn_epoch_trans.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Ndb_conflict_trans_row_reject_countUsed in MySQL Cluster Replication conflict resolution, this status variable shows the total number of rows realigned due to being determined as conflicting by a transactional conflict detection function. This includes not only
Ndb_conflict_trans_row_conflict_count, but any rows in or dependent on conflicting transactions.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Ndb_conflict_trans_reject_countUsed in MySQL Cluster Replication conflict resolution, this status variable shows the number of transactions found to be in conflict by a transactional conflict detection function.
For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Ndb_conflict_trans_detect_iter_countUsed in MySQL Cluster Replication conflict resolution, this shows the number of internal iterations required to commit an epoch transaction. Should be (slightly) greater than or equal to
Ndb_conflict_trans_conflict_commit_count.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
Ndb_conflict_trans_conflict_commit_countUsed in MySQL Cluster Replication conflict resolution, this shows the number of epoch transactions committed after they required transactional conflict handling.
For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.
When using delete-delete conflict detection, this is the number of delete-delete conflicts detected, where a delete operation is applied, but the indicated row does not exist.
Provides the number of round trips to the
NDBkernel made by operations.The epoch most recently committed by
NDB.The epoch most recently committed by this
NDBclient.If the server is part of a MySQL Cluster, the value of this variable is the number of data nodes in the cluster.
If the server is not part of a MySQL Cluster, then the value of this variable is 0.
The total number of joins pushed down to the NDB kernel for distributed handling on the data nodes.
NoteJoins tested using
EXPLAINthat can be pushed down contribute to this number.The number of joins that were pushed down to the NDB kernel but that could not be handled there.
The number of joins successfully pushed down to
NDBand executed there.The number of rows returned to mysqld from the NDB kernel by joins that were pushed down.
This variable holds a count of the number of scans executed by
NDBCLUSTERsince the MySQL Cluster was last started whereNDBCLUSTERwas able to use partition pruning.Using this variable together with
Ndb_scan_countcan be helpful in schema design to maximize the ability of the server to prune scans to a single table partition, thereby involving only a single data node.This variable holds a count of the total number of scans executed by
NDBCLUSTERsince the MySQL Cluster was last started.Ndb_slave_max_replicated_epochThe most recently committed epoch on this slave. You can compare this value with
Ndb_conflict_last_conflict_epoch; ifNdb_slave_max_replicated_epochis the greater of the two, no conflicts have yet been detected.For more information, see Section 19.6.11, “MySQL Cluster Replication Conflict Resolution”.