Documentation Home
MySQL Cluster NDB 6.1-7.1
Download this Excerpt
PDF (US Ltr) - 3.5Mb
PDF (A4) - 3.5Mb
EPUB - 1.3Mb
HTML Download (TGZ) - 1.2Mb
HTML Download (Zip) - 1.2Mb


5.3.8.2 MySQL Cluster System Variables

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 Server System Variables. For general information on using system variables, see Using System Variables.

  • have_ndbcluster

    Table 5.30 Type and value information for have_ndbcluster

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    have_ndbcluster

    No Yes No
    No Global No
    MySQL 5.1 boolean

    DESCRIPTION: Whether mysqld supports NDB Cluster tables (set by --ndbcluster option)


    YES if mysqld supports NDBCLUSTER tables. DISABLED if --skip-ndbcluster is used.

    This variable is deprecated and is removed in MySQL 5.6. Use SHOW ENGINES instead.

  • ndb_autoincrement_prefetch_sz

    Table 5.31 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

    ndb_autoincrement_prefetch_sz

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 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

    DESCRIPTION: NDB auto-increment prefetch size


    Determines the probability of gaps in an autoincremented column. Set it to 1 to 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 minimum value is 1. Prior to MySQL 5.1.23, MySQL Cluster NDB 6.2.9, and MySQL Cluster NDB 6.3.7, the default value was 32; in these and all later versions, the default is 1. Prior to MySQL Cluster NDB 6.3.31 and MySQL Cluster NDB 7.0.11, the maximum value was 256; in these and all later versions of MySQL Cluster (including all MySQL Cluster NDB 7.1 releases), the maximum is 65536 (Bug #50621).

    Beginning with MySQL Cluster NDB 6.2.10, MySQL Cluster NDB 6.3.7, and MySQL 5.1.23, this variable affects the number of AUTO_INCREMENT IDs that are fetched between statements only. Within a statement, at least 32 IDs are now obtained at a time. Also beginning with these releases, the default value is 1. (Bug #31956)

    Important

    This variable does not affect inserts performed using INSERT ... SELECT.

  • ndb_cache_check_time

    Table 5.32 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

    ndb_cache_check_time

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 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.

  • ndb_deferred_constraints

    Table 5.33 Type and value information for ndb_deferred_constraints

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_deferred_constraints

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 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. 0 is the default.

    This variable was added in MySQL Cluster NDB 7.0.28 and MySQL Cluster NDB 7.1.14.

    This variable is not normally needed for operation of MySQL Cluster or MySQL Cluster Replication, and is intended primarily for use in testing.

  • ndb_distribution

    Table 5.34 Type and value information for ndb_distribution

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_distribution

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 enumeration KEYHASH / LINHASH, KEYHASH

    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.

  • ndb_eventbuffer_max_alloc

    Table 5.35 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

    ndb_eventbuffer_max_alloc

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 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.

    This variable was added in MySQL Cluster NDB 7.1.29.

  • ndb_extra_logging

    Table 5.36 Type and value information for ndb_extra_logging

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_extra_logging

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 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 NDB storage engine.

    When this variable is set to 0, the only information specific to NDB that is written to the MySQL error log relates to transaction handling. If it set to a value greater than 0 but less than 10, NDB table schema and connection events are also logged, as well as whether or not conflict resolution is in use, and other NDB errors and information. If the value is set to 10 or more, information about NDB internals, such as the progress of data distribution among cluster nodes, is also written to the MySQL error log.

    This variable was added in MySQL 5.1.6. Prior to MySQL Cluster NDB 6.3, the default value was 0; in MySQL Cluster NDB 6.3.0 and later, the default is 1.

  • ndb_force_send

    Table 5.37 Type and value information for ndb_force_send

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_force_send

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 boolean TRUE

    DESCRIPTION: Forces sending of buffers to NDB immediately, without waiting for other threads


    Forces sending of buffers to NDB immediately, without waiting for other threads. Defaults to ON.

  • ndb_index_stat_cache_entries

    Table 5.38 Type and value information for ndb_index_stat_cache_entries

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_index_stat_cache_entries

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 integer 32 / 0 - 4294967295

    DESCRIPTION: Sets the granularity of the statistics by determining the number of starting and ending keys


    Sets the granularity of the statistics by determining the number of starting and ending keys to store in the statistics memory cache. Zero means no caching takes place; in this case, the data nodes are always queried directly. Default value: 32.

    Note

    If ndb_index_stat_enable is OFF, then setting this variable has no effect.

    This variable is deprecated as of MySQL 5.1.19, and is removed from MySQL Cluster NDB 7.1.31 and later.

  • ndb_index_stat_enable

    Table 5.39 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

    ndb_index_stat_enable

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 boolean OFF

    DESCRIPTION: Use NDB index statistics in query optimization


    Use NDB index statistics in query optimization. Defaults to OFF prior to MySQL Cluster NDB 7.2; ON is the default in MySQL Cluster NDB 7.2 and later.

  • ndb_index_stat_option

    Table 5.40 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

    ndb_index_stat_option

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 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. Note that this list must not contain any space characters.

    Options not used when setting ndb_index_stat_option are not changed from their default values. For example, you can set ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'.

    Time values can be optionally suffixed with h (hours), m (minutes), or s (seconds). Millisecond values can optionally be specified using ms; millisecond values cannot be specified using h, m, or s.) Integer values can be suffixed with K, M, or G.

    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.

    NameDescriptionDefault/UnitsMinimum/Maximum
    loop_enable 1000 ms0/4G
    loop_idleTime to sleep when idle1000 ms0/4G
    loop_busyTime to sleep when more work is waiting100 ms0/4G
    update_batch 10/4G
    read_batch 41/4G
    idle_batch 321/4G
    check_batch 81/4G
    check_delayHow often to check for new statistics10 m1/4G
    delete_batch 80/4G
    clean_delay 1 m0/4G
    error_batch 41/4G
    error_delay 1 m1/4G
    evict_batch 81/4G
    evict_delayClean LRU cache, from read time1 m0/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 M0/4G
    cache_lowpct 900/100
    zero_totalSetting this to 1 causes all accumulating counters in ndb_index_stat_status to be reset to 0. Note that the option value is also reset to 0 when this is done.00/1

    ndb_index_stat_option was added in MySQL Cluster NDB 7.1.15.

  • ndb_index_stat_update_freq

    Table 5.41 Type and value information for ndb_index_stat_update_freq

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_index_stat_update_freq

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 integer 20 / 0 - 4294967295

    DESCRIPTION: How often to query data nodes instead of the statistics cache


    How often to query data nodes instead of the statistics cache. For example, a value of 20 (the default) means to direct every 20th query to the data nodes.

    Note

    If ndb_index_stat_cache_entries is 0, then setting this variable has no effect; in this case, every query is sent directly to the data nodes.

    This variable is deprecated as of MySQL 5.1.19, and is removed from MySQL Cluster NDB 7.1.31 and later.

  • ndb_join_pushdown

    Table 5.42 Type and value information for ndb_join_pushdown

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_join_pushdown

    No Yes No
    No Both Yes
    5.1.51-ndb-7.2.0 boolean TRUE

    DESCRIPTION: Enables pushing down of joins to data nodes


    Added in MySQL Cluster NDB 7.2.0, this variable controls whether joins on NDB tables are pushed down to the NDB kernel (data nodes). Previously, a join was handled using multiple accesses of NDB by the SQL node; however, when ndb_join_pushdown is 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_pushdown is enabled.

    Conditions for NDB pushdown joins.  In order for a join to be pushable, it must meet the following conditions:

    1. 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 + constant cannot be pushed down, and that (for example) a join on an INT column and a BIGINT column also cannot be pushed down.

    2. Queries referencing BLOB or TEXT columns are not supported.

    3. Explicit locking is not supported; however, the NDB storage engine's characteristic implicit row-based locking is enforced.

      This means that a join using FOR UPDATE cannot be pushed down.

    4. In order for a join to be pushed down, child tables in the join must be accessed using one of the ref, eq_ref, or  const access 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_ref or const, only child tables joined by eq_ref can be appended. (A table joined by ref is likely to become the root of another pushed join.)

      If the query optimizer decides on Using join cache for a candidate child table, that table cannot be pushed as a child. However, it may be the root of another set of pushed tables.

    5. Joins referencing tables explicitly partitioned by [LINEAR] HASH, LIST, or RANGE currently 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 the pushed join in the Extra column 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)
    
    Note

    If 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:

    1. The status variables Ndb_pushed_queries_defined, Ndb_pushed_queries_dropped, Ndb_pushed_queries_executed, and Ndb_pushed_reads (all introduced in MySQL Cluster NDB 7.2.0).

    2. The counters in the ndbinfo.counters table that belong to the DBSPJ kernel block. (These counters and the DBSPJ block were also introduced in MySQL Cluster NDB 7.2.0). See Section 7.10.7, “The ndbinfo counters Table”, for information about these counters. See also The DBSPJ Block, in the MySQL Cluster API Developer Guide.

  • ndb_log_apply_status

    Table 5.43 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

    ndb_log_apply_status

    Yes Yes No
    Yes Global No
    MySQL 5.1 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-status option.

    This variable was added in MySQL Cluster NDB 7.0.21 and MySQL Cluster NDB 7.1.10.

  • ndb_log_bin

    Table 5.44 Type and value information for ndb_log_bin

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_log_bin

    Yes Yes No
    No Both Yes
    MySQL 5.1 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 NDB tables to be written to the binary log. Setting this variable has no effect if binary logging is not already enabled for the server using log_bin. ndb_log_bin defaults to 1 (ON); normally, there is never any need to change this value in a production environment.

    This variable was added in MySQL 5.1.6.

  • ndb_log_binlog_index

    Table 5.45 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

    ndb_log_binlog_index

    Yes Yes No
    No Global Yes
    MySQL 5.1 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_index table. Setting this variable has no effect if binary logging is not already enabled for the server using log_bin. (In addition, ndb_log_bin must not be disabled.) ndb_log_binlog_index defaults to 1 (ON); normally, there is never any need to change this value in a production environment.

    This variable was added in MySQL 5.1.6.

  • ndb_log_empty_epochs

    Table 5.46 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

    ndb_log_empty_epochs

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 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 (Bug #49559, Bug #11757505).

  • ndb_log_orig

    Table 5.47 Type and value information for ndb_log_orig

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_log_orig

    Yes Yes No
    Yes Global No
    MySQL 5.1 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_index table. Set using the --ndb-log-orig server option.

    This variable was added in MySQL Cluster NDB 6.3.2.

  • ndb_log_transaction_id

    Table 5.48 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

    ndb_log_transaction_id

    No Yes No
    No Global No
    MySQL 5.1 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-id option.

    ndb_log_transaction_id is available in MySQL Cluster NDB 7.1.16 and later. It is not supported in mainline MySQL Server 5.1.

    For more information, see Section 8.11, “MySQL Cluster Replication Conflict Resolution”.

  • ndb_optimized_node_selection

    Table 5.49 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

    ndb_optimized_node_selection

    Yes Yes No
    Yes Global No
    MySQL 5.1 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


    Prior to MySQL Cluster NDB 6.3.4.  Causes an SQL node to use the closest data node as transaction coordinator. Enabled by default. Set to 0 or OFF to disable, in which case the SQL node uses each data node in the cluster in succession. When this option is disabled each SQL thread attempts to use a given data node 8 times before proceeding to the next one.

    Beginning with MySQL Cluster NDB 6.3.4.  There are two forms of optimized node selection, described here:

    1. 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 than localhost.

    2. 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, or 3. 3 is 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. (This is the same round-robin behavior as caused by setting this option to 0 or OFF in previous versions of MySQL Cluster.)

    • 1: Proximity to the SQL node is used to determine the transaction coordinator. (This is the same behavior as caused by setting this option to 1 or ON in previous MySQL versions.)

    • 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 to 0.

    • 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 in MySQL Cluster NDB 6.3.4 and later.)

    Important

    Beginning with MySQL Cluster NDB 6.3.4, it is no longer possible to set --ndb_optimized_node_selection to ON or OFF; attempting to do so causes mysqld to abort with an error.

  • ndb_report_thresh_binlog_epoch_slip

    Table 5.50 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

    ndb_report_thresh_binlog_epoch_slip

    Yes No No
    Yes No
    MySQL 5.1 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_usage

    Table 5.51 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

    ndb_report_thresh_binlog_mem_usage

    Yes No No
    Yes No
    MySQL 5.1 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.

  • ndb_table_no_logging

    Table 5.52 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

    ndb_table_no_logging

    No Yes No
    No Session Yes
    MySQL 5.1 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 ON or 1, it causes NDB tables not to be checkpointed to disk. More specifically, this setting applies to tables which are created or altered using ENGINE NDB when ndb_table_no_logging is enabled, and continues to apply for the lifetime of the table, even if ndb_table_no_logging is later changed. Suppose that A, B, C, and D are tables that we create (and perhaps also alter), and that we also change the setting for ndb_table_no_logging as 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 A and B are not checkpointed; A was created with ENGINE NDB and B was altered to use NDB, both while ndb_table_no_logging was enabled. However, tables C and D are logged; C was altered to use NDB and D was created using ENGINE NDB, both while ndb_table_no_logging was disabled. Setting ndb_table_no_logging back to 1 or ON does not cause table C or D to be checkpointed.

    Note

    ndb_table_no_logging has no effect on the creation of NDB table schema files; to suppress these, use ndb_table_temporary instead.

  • ndb_table_temporary

    Table 5.53 Type and value information for ndb_table_temporary

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_table_temporary

    No Yes No
    No Session Yes
    MySQL 5.1 boolean FALSE

    DESCRIPTION: NDB tables are not persistent on disk: no schema files are created and the tables are not logged


    When set to ON or 1, this variable causes NDB tables not to be written to disk: This means that no table schema files are created, and that the tables are not logged.

    Note

    Setting this variable currently has no effect in MySQL Cluster NDB 7.0 and later. This is a known issue; see Bug #34036.

  • ndb_use_copying_alter_table

    Table 5.54 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

    ndb_use_copying_alter_table

    No Yes No
    No Both No

    DESCRIPTION: Use copying ALTER TABLE operations in MySQL Cluster


    Forces NDB to use copying of tables in the event of problems with online ALTER TABLE operations. The default value is OFF.

    This variable was added in MySQL 5.1.12.

  • ndb_version

    Table 5.55 Type and value information for ndb_version

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_version

    No Yes No
    No Global No
    MySQL 5.1 string

    DESCRIPTION: Shows build and NDB engine version as an integer.


    NDB engine version, as a composite integer.

    This variable was added in MySQL Cluster NDB 7.1.19.

  • ndb_version_string

    Table 5.56 Type and value information for ndb_version_string

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_version_string

    No Yes No
    No Global No
    MySQL 5.1 string

    DESCRIPTION: Shows build information including NDB engine version in ndb-x.y.z format.


    NDB engine version in ndb-x.y.z format.

    This variable was added in MySQL Cluster NDB 7.1.19.

  • ndb_use_exact_count

    Table 5.57 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

    ndb_use_exact_count

    No Yes No
    No Both Yes
    MySQL 5.1 boolean ON
    5.1.47-ndb-7.1.8 boolean OFF

    DESCRIPTION: Use exact row count when planning queries


    Forces NDB to use a count of records during SELECT COUNT(*) query planning to speed up this type of query. Prior to MySQL Cluster NDB 7.1.7, the default value for this variable was ON. Starting with MySQL Cluster NDB 7.1.8, the value of ndb_use_exact_count defaults to OFF, which allows for faster queries overall.

  • ndb_use_transactions

    Table 5.58 Type and value information for ndb_use_transactions

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndb_use_transactions

    Yes Yes No
    Yes Both Yes
    MySQL 5.1 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 NDB transaction support by setting this variable's values to OFF (not recommended). The default is ON.

    Note

    The setting for this variable was not honored in MySQL Cluster NDB 6.4.3 and MySQL Cluster NDB 7.0.4. (Bug #43236)

  • server_id_bits

    Table 5.59 Type and value information for server_id_bits

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    server_id_bits

    Yes Yes No
    Yes Global No
    MySQL 5.1 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_id if the server was started with the --server-id-bits option set to a nondefault value.

    If the value of server_id is greater than or equal to 2 to the power of server_id_bits, mysqld refuses to start.

    This system variable was added in MySQL Cluster NDB 7.0.17 and MySQL Cluster NDB 7.1.6; it is supported only in these and later releases of MySQL Cluster. server_id_bits is not supported by the standard MySQL Server.

  • slave_allow_batching

    Table 5.60 Type and value information for slave_allow_batching

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    slave_allow_batching

    Yes Yes No
    Yes Global Yes
    MySQL 5.1 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.

    This variable is available beginning with MySQL Cluster NDB 6.2.3. It is available for mysqld only as supplied with MySQL Cluster or built from the MySQL Cluster sources. For more information, see Section 8.6, “Starting MySQL Cluster Replication (Single Replication Channel)”.

  • transaction_allow_batching

    Table 5.61 Type and value information for transaction_allow_batching

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    transaction_allow_batching

    No Yes No
    No Session Yes
    MySQL 5.1 boolean FALSE

    DESCRIPTION: Allows batching of statements within a transaction. Disable AUTOCOMMIT to use.


    When set to 1 or ON, this variable enables batching of statements within the same transaction. To use this variable, autocommit must first be disabled by setting it to 0 or OFF; otherwise, setting transaction_allow_batching has 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 COMMIT if desired) before issuing a SELECT.

    Important

    transaction_allow_batching should 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 was added in MySQL Cluster NDB 6.3.7, and is currently supported in MySQL Cluster only.

The system variables in the following list all relate to the ndbinfo information database. They were added in MySQL Cluster NDB 7.1.1.

  • ndbinfo_database

    Table 5.62 Type and value information for ndbinfo_database

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_database

    No Yes No
    No Global No
    MySQL 5.1 string ndbinfo

    DESCRIPTION: The name used for the NDB information database; read only.


    Shows the name used for the NDB information database; the default is ndbinfo. This is a read-only variable whose value is determined at compile time; you can set it by starting the server using --ndbinfo-database=name, which sets the value shown for this variable but does not actually change the name used for the NDB information database.

  • ndbinfo_max_bytes

    Table 5.63 Type and value information for ndbinfo_max_bytes

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_max_bytes

    Yes Yes No
    No Both Yes
    MySQL 5.1 integer 0 / -

    DESCRIPTION: Used for debugging only.


    Used in testing and debugging only.

  • ndbinfo_max_rows

    Table 5.64 Type and value information for ndbinfo_max_rows

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_max_rows

    Yes Yes No
    No Both Yes
    MySQL 5.1 integer 10 / -

    DESCRIPTION: Used for debugging only.


    Used in testing and debugging only.

  • ndbinfo_offline

    Table 5.65 Type and value information for ndbinfo_offline

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_offline

    No Yes No
    No Global Yes
    MySQL 5.1 boolean OFF

    DESCRIPTION: Put the ndbinfo database into offline mode, in which no rows are returned from tables or views.


    Place the ndbinfo database 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 in NDB. No rows are returned from such tables (or views).

  • ndbinfo_show_hidden

    Table 5.66 Type and value information for ndbinfo_show_hidden

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_show_hidden

    Yes Yes No
    No Both Yes
    MySQL 5.1 boolean OFF

    DESCRIPTION: Whether to show ndbinfo internal base tables in the mysql client. The default is OFF.


    Whether or not the ndbinfo database's underlying internal tables are shown in the mysql client. The default is OFF.

  • ndbinfo_table_prefix

    Table 5.67 Type and value information for ndbinfo_table_prefix

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_table_prefix

    Yes Yes No
    No Both Yes
    MySQL 5.1 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-prefix option, 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.

  • ndbinfo_version

    Table 5.68 Type and value information for ndbinfo_version

    Command Line System Variable Status Variable
    Option File Scope Dynamic
    From Version Type Default, Range
    Notes

    ndbinfo_version

    No Yes No
    No Global No
    MySQL 5.1 string

    DESCRIPTION: The version of the ndbinfo engine; read only.


    Shows the version of the ndbinfo engine in use; read-only.