Table 21.207 Type and value information for ndbcluster
Property | Value |
---|---|
Name | ndbcluster
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
DESCRIPTION: Enable NDB Cluster (if this version of MySQL supports it)
Disabled by
|
The NDBCLUSTER
storage engine
is necessary for using NDB Cluster. If a
mysqld binary includes support for the
NDBCLUSTER
storage engine,
the engine is disabled by default. Use the
--ndbcluster
option to
enable it. Use --skip-ndbcluster
to
explicitly disable the engine.
It is not necessary or desirable to use this option
together with --initialize
.
Beginning with NDB 7.5.4, --ndbcluster
is
ignored (and the NDB
storage engine is
not enabled) if
--initialize
is also used. (Bug #81689,
Bug #23518923)
--ndb-allow-copying-alter-table=[ON|OFF]
Table 21.208 Type and value information for ndb-allow-copying-alter-table
Property | Value |
---|---|
Name | ndb-allow-copying-alter-table
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Both |
Dynamic | Yes |
Type: Default, Range | boolean: ON (Version: 5.7) |
Notes |
DESCRIPTION: Set to OFF to keep ALTER TABLE from using copying operations on NDB tables |
Let ALTER TABLE
and other
DDL statements use copying operations on
NDB
tables. Set to
OFF
to keep this from happening; doing
so may improve performance of critical applications.
Table 21.209 Type and value information for ndb-batch-size
Property | Value |
---|---|
Name | ndb-batch-size
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | integer: 32768 / 0 - 31536000 (Version: 5.7) |
Notes |
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 21.210 Type and value information for ndb-cluster-connection-pool
Property | Value |
---|---|
Name | ndb-cluster-connection-pool
|
Command Line | Yes |
System Variable | Yes |
Status Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type | |
Default, Range | 1 / 1 - 63 (Version: NDB 7.5-7.6) |
Notes |
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.
Because 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-pool
option causes node ID allocation errors when the SQL
node attempts to connect to the cluster.
--ndb-cluster-connection-pool-nodeids=
list
Table 21.211 Type and value information for ndb-cluster-connection-pool-nodeids
Property | Value |
---|---|
Name | ndb-cluster-connection-pool-nodeids
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | set: / (Version: 5.7) |
Notes |
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-pool
option.
--ndb-cluster-connection-pool-nodeids
was
added in NDB 7.5.0.
--ndb-blob-read-batch-bytes=
bytes
Table 21.212 Type and value information for ndb-blob-read-batch-bytes
Property | Value |
---|---|
Name | ndb-blob-read-batch-bytes
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Both |
Dynamic | Yes |
Type: Default, Range | integer: 65536 / 0 - 4294967295 (Version: 5.7) |
Notes |
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 BLOB
data reads
in NDB Cluster applications. When this batch size is
exceeded by the amount of
BLOB
data to be read within
the current transaction, any pending
BLOB
read 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 BLOB
read
batching.
In NDB API applications, you can control
BLOB
write batching with
the
setMaxPendingBlobReadBytes()
and
getMaxPendingBlobReadBytes()
methods.
--ndb-blob-write-batch-bytes=
bytes
Table 21.213 Type and value information for ndb-blob-write-batch-bytes
Property | Value |
---|---|
Name | ndb-blob-write-batch-bytes
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Both |
Dynamic | Yes |
Type: Default, Range | integer: 65536 / 0 - 4294967295 (Version: 5.7) |
Notes |
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 BLOB
data
writes in NDB Cluster applications. When this batch size
is exceeded by the amount of
BLOB
data to be written
within the current transaction, any pending
BLOB
write 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 BLOB
write
batching.
In NDB API applications, you can control
BLOB
write batching with
the
setMaxPendingBlobWriteBytes()
and
getMaxPendingBlobWriteBytes()
methods.
--ndb-connectstring=
connection_string
Table 21.214 Type and value information for ndb-connectstring
Property | Value |
---|---|
Name | ndb-connectstring
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Type: Default, Range | string: (Version: 5.7) |
Notes |
DESCRIPTION: Point to the management server that distributes the cluster configuration |
When using the NDBCLUSTER
storage engine, this option specifies the management
server that distributes cluster configuration data. See
Section 21.3.3.3, “NDB Cluster Connection
Strings”, for
syntax.
--ndb-default-column-format=[FIXED|DYNAMIC]
Table 21.215 Type and value information for ndb-default-column-format
Property | Value |
---|---|
Name | ndb-default-column-format
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | enumeration: DYNAMIC / FIXED, DYNAMIC (Version: 7.5.1) |
Type: Default, Range | enumeration: FIXED / FIXED, DYNAMIC (Version: 7.5.4) |
Notes |
DESCRIPTION: Use this value (FIXED or DYNAMIC) by default for COLUMN_FORMAT and ROW_FORMAT options when creating or adding columns to a table. |
In NDB 7.5.1 and later, sets the default
COLUMN_FORMAT
and
ROW_FORMAT
for new tables (see
Section 13.1.18, “CREATE TABLE Statement”).
In NDB 7.5.1, the default for this option was
DYNAMIC
; in NDB 7.5.4, the default was
changed to FIXED
to maintain backwards
compatibility with older release series (Bug #24487363).
--ndb-deferred-constraints=[0|1]
Table 21.216 Type and value information for ndb-deferred-constraints
Property | Value |
---|---|
Name | ndb-deferred-constraints
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Both |
Dynamic | Yes |
Type: Default, Range | integer: 0 / 0 - 1 (Version: 5.7) |
Notes |
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. 0
is the default.
This option is not normally needed for operation of NDB Cluster or NDB Cluster Replication, and is intended primarily for use in testing.
--ndb-distribution=[KEYHASH|LINHASH]
Table 21.217 Type and value information for ndb-distribution
Property | Value |
---|---|
Name | ndb-distribution
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | enumeration: KEYHASH / LINHASH, KEYHASH (Version: 5.7) |
Notes |
DESCRIPTION: Default distribution for new tables in NDBCLUSTER (KEYHASH or LINHASH, default is KEYHASH) |
Controls the default distribution method for
NDB
tables. Can be set to
either of KEYHASH
(key hashing) or
LINHASH
(linear hashing).
KEYHASH
is the default.
Table 21.218 Type and value information for ndb-log-apply-status
Property | Value |
---|---|
Name | ndb-log-apply-status
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
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_status
table 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 the
mysql.ndb_apply_status
tables 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_status
tables to
complete the entire circuit, eventually propagating back
to the originating NDB 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
--ndbcluster
option.
--ndb-log-empty-epochs=[ON|OFF]
Table 21.219 Type and value information for ndb-log-empty-epochs
Property | Value |
---|---|
Name | ndb-log-empty-epochs
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
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_status
and
ndb_binlog_index
tables, even when
log_slave_updates
is
enabled.
By default this option is disabled. Disabling
--ndb-log-empty-epochs
causes epoch
transactions with no changes not to be written to the
binary log, although a row is still written even for an
empty epoch in ndb_binlog_index
.
Because --ndb-log-empty-epochs=1
causes
the size of the ndb_binlog_index
table
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-empty-update=[ON|OFF]
Table 21.220 Type and value information for ndb-log-empty-update
Property | Value |
---|---|
Name | ndb-log-empty-update
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
DESCRIPTION: When enabled, causes updates that produced no changes to be written to the ndb_apply_status and ndb_binlog_index tables, even when --log-slave-updates is enabled. |
Causes updates that produced no changes to be written to
the ndb_apply_status
and
ndb_binlog_index
tables, when when
log_slave_updates
is
enabled.
By default this option is disabled
(OFF
). Disabling
--ndb-log-empty-update
causes updates
with no changes not to be written to the binary log.
--ndb-log-exclusive-reads=[0|1]
Table 21.221 Type and value information for ndb-log-exclusive-reads
Property | Value |
---|---|
Name | ndb-log-exclusive-reads
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Both |
Dynamic | Yes |
Type: Default, Range | boolean: 0 (Version: 5.7) |
Notes |
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
NDB 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_reads
system variable to 1 or 0, respectively. 0 (disable
locking) is the default.
For more information, see Read conflict detection and resolution.
Table 21.222 Type and value information for ndb-log-orig
Property | Value |
---|---|
Name | ndb-log-orig
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
DESCRIPTION: Log originating server id and epoch in mysql.ndb_binlog_index table |
Log the originating server ID and epoch in the
ndb_binlog_index
table.
This 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 21.6.4, “NDB Cluster Replication Schema and Tables”.
Table 21.223 Type and value information for ndb-log-transaction-id
Property | Value |
---|---|
Name | ndb-log-transaction-id
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | boolean: OFF (Version: 5.7) |
Notes |
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, the
log_bin_use_v1_row_events
system variable must be disabled to use this option.
This option is not supported in mainline MySQL Server
5.7. It is required to enable NDB 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 21.6.11, “NDB Cluster Replication Conflict Resolution”.
Table 21.224 Type and value information for ndb-log-update-minimal
Property | Value |
---|---|
Name | ndb-log-update-minimal
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | boolean: OFF (Version: NDB 7.5-7.6) |
Type: Default, Range | boolean: OFF (Version: 7.5.7) |
Type: Default, Range | boolean: OFF (Version: 7.6.3) |
Notes |
DESCRIPTION: Log updates in a minimal format. |
Log updates in a minimal fashion, by writing only the
primary key values in the before image, and only the
changed columns in the after image. This may cause
compatibility problems if replicating to storage engines
other than NDB
.
Table 21.225 Type and value information for ndb-mgmd-host
Property | Value |
---|---|
Name | ndb-mgmd-host
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Type: Default, Range | string: localhost:1186 (Version: 5.7) |
Notes |
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-connectstring
option
instead.
Table 21.226 Type and value information for ndb-nodeid
Property | Value |
---|---|
Name | ndb-nodeid
|
Command Line | Yes |
System Variable | No |
Status Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type | |
Default, Range | / 1 - 63 (Version: 5.0.45) |
Default, Range | / 1 - 255 (Version: 5.1.5) |
Notes |
DESCRIPTION: NDB Cluster node ID for this MySQL server |
Set this MySQL server's node ID in an NDB Cluster.
The --ndb-nodeid
option overrides any
node ID set with
--ndb-connectstring
,
regardless of the order in which the two options are used.
In addition, if --ndb-nodeid
is used,
then either a matching node ID must be found in a
[mysqld]
or [api]
section of config.ini
, or there must
be an “open” [mysqld]
or
[api]
section in the file (that is, a
section without a NodeId
or
Id
parameter 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_id
in the output of
SHOW STATUS
, and as
cluster_node_id
in the
connection
row of the output of
SHOW ENGINE
NDBCLUSTER STATUS
.
For more information about node IDs for NDB Cluster SQL nodes, see Section 21.3.3.7, “Defining SQL and Other API Nodes in an NDB Cluster”.
--ndb-optimization-delay=
milliseconds
Table 21.227 Type and value information for ndb-optimization-delay
Property | Value |
---|---|
Name | ndb-optimization-delay
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | Yes |
Type: Default, Range | integer: 10 / 0 - 100000 (Version: NDB 7.5-7.6) |
Notes |
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 TABLE
statements on NDB
tables. The
default is 10.
--ndb-recv-thread-activation-threshold=
threshold
Table 21.228 Type and value information for ndb-recv-thread-activation-threshold
Property | Value |
---|---|
Name | ndb-recv-thread-activation-threshold
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Type: Default, Range | integer: 8 / 0 (MIN_ACTIVATION_THRESHOLD) - 16 (MAX_ACTIVATION_THRESHOLD) (Version: NDB 7.5-7.6) |
Notes |
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=
bitmask
Table 21.229 Type and value information for ndb-recv-thread-cpu-mask
Property | Value |
---|---|
Name | ndb-recv-thread-cpu-mask
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Type: Default, Range | bitmap: [empty] (Version: 5.7) |
Notes |
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, 0x33
means that one CPU is
used per receiver thread. An empty string (no locking of
receiver threads) is the default.
--ndb-transid-mysql-connection-map=
state
Command-Line Format | --ndb-transid-mysql-connection-map[=state] |
---|---|
Type | Enumeration |
Default Value | ON |
Valid Values |
|
Enables or disables the plugin that handles the
ndb_transid_mysql_connection_map
table in the INFORMATION_SCHEMA
database.
Takes one of the values ON
,
OFF
, or FORCE
.
ON
(the default) enables the plugin.
OFF
disables the plugin, which makes
ndb_transid_mysql_connection_map
inaccessible. FORCE
keeps the MySQL Server
from starting if the plugin fails to load and start.
You can see whether the
ndb_transid_mysql_connection_map
table plugin is running by checking the output of
SHOW PLUGINS
.
Table 21.231 Type and value information for ndb-wait-connected
Property | Value |
---|---|
Name | ndb-wait-connected
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | integer: 0 / 0 - 31536000 (Version: 5.7) |
Type: Default, Range | integer: 30 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 0 / 0 - 31536000 (Version: 5.7) |
Type: Default, Range | integer: 30 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Notes |
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 NDB 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 21.232 Type and value information for ndb-wait-setup
Property | Value |
---|---|
Name | ndb-wait-setup
|
Command Line | Yes |
System Variable | Yes |
Option File | Yes |
Scope | Global |
Dynamic | No |
Type: Default, Range | integer: 15 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 15 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 15 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 30 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 15 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Type: Default, Range | integer: 30 / 0 - 31536000 (Version: NDB 7.5-7.6) |
Notes |
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 NDB
storage engine to complete setup before timing out and
treating NDB
as unavailable.
The time is specified in seconds. The default value is
30
.
Table 21.233 Type and value information for skip-ndbcluster
Property | Value |
---|---|
Name | skip-ndbcluster
|
Command Line | Yes |
System Variable | No |
Option File | Yes |
Scope | |
Dynamic | No |
Notes |
DESCRIPTION: Disable the NDB Cluster storage engine |
Disable the NDBCLUSTER
storage engine. This is the default for binaries that were
built with NDBCLUSTER
storage
engine support; the server allocates memory and other
resources for this storage engine only if the
--ndbcluster
option is
given explicitly. See
Section 21.3.1, “Quick Test Setup of NDB
Cluster”, for an example.