本節提供關於MySQL伺服器選項、伺服器和狀態變數的資訊,這些選項和變數是NDB叢集特有的。關於使用這些選項和變數的一般資訊,以及其他非NDB叢集特定的選項和變數,請參閱第 7.1 節,「MySQL伺服器」。
對於叢集組態檔(通常名為 config.ini)中使用的NDB叢集組態參數,請參閱第 25.4 節,「NDB叢集的配置」。
本節提供與 NDB 叢集相關的 mysqld 伺服器選項的描述。關於非 NDB 叢集特定的 mysqld 選項的資訊,以及關於使用 mysqld 選項的一般資訊,請參閱第 7.1.7 節,「伺服器命令選項」。
關於其他 NDB 叢集程序使用的命令列選項的資訊,請參閱第 25.5 節,「NDB叢集程式」。
-
命令列格式 --ndbcluster[=value]停用方式 skip-ndbcluster類型 列舉 預設值 ON有效值 OFFFORCE使用 NDB 叢集時,
NDBCLUSTER儲存引擎是必要的。如果 mysqld 二進制檔包含對NDBCLUSTER儲存引擎的支援,則預設會停用該引擎。使用--ndbcluster選項來啟用它。使用--skip-ndbcluster來明確停用該引擎。如果同時使用了
--initialize,則會忽略--ndbcluster選項(且NDB儲存引擎不會啟用)。(將此選項與--initialize一起使用既不必要也不理想。) --ndb-allow-copying-alter-table=[ON|OFF]命令列格式 --ndb-allow-copying-alter-table[={OFF|ON}]系統變數 ndb_allow_copying_alter_table範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON讓
ALTER TABLE和其他 DDL 陳述式在NDB表格上使用複製操作。設定為OFF以防止這種情況發生;這樣做可能會提高關鍵應用程式的效能。--ndb-applier-allow-skip-epoch命令列格式 --ndb-applier-allow-skip-epoch系統變數 ndb_applier_allow_skip_epoch範圍 全域 動態 否 SET_VAR提示語適用否 與
--replica-skip-errors一起使用,以使NDB忽略已跳過的紀元交易。單獨使用時無效。-
命令列格式 --ndb-batch-size系統變數 ndb_batch_size範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 32768最小值 0最大值 2147483648單位 位元組 這會設定用於NDB交易批次的位元組大小。
--ndb-cluster-connection-pool=#命令列格式 --ndb-cluster-connection-pool系統變數 ndb_cluster_connection_pool系統變數 ndb_cluster_connection_pool範圍 全域 範圍 全域 動態 否 動態 否 SET_VAR提示語適用否 SET_VAR提示語適用否 類型 整數 預設值 1最小值 1最大值 63透過將此選項設定為大於 1 (預設值) 的值,mysqld 程序可以使用與叢集的多個連線,有效地模擬多個 SQL 節點。每個連線都需要叢集組態 (
config.ini) 檔中的其自己的[api]或[mysqld]區段,並且會計入叢集支援的最大 API 連線數。假設您有 2 台叢集主機電腦,每台都執行一個 SQL 節點,該節點的 mysqld 程序是以
--ndb-cluster-connection-pool=4啟動的;這表示叢集必須有 8 個 API 插槽可用於這些連線(而不是 2 個)。當 SQL 節點連線到叢集時,會設定所有這些連線,並以循環方式配置給執行緒。此選項僅在具有多個 CPU、多個核心或兩者的主機上執行 mysqld 時才有用。為了獲得最佳結果,該值應小於主機上可用的核心總數。將其設定為大於此值可能會嚴重降低效能。
重要事項由於每個使用連線集區的 SQL 節點都會佔用多個 API 節點插槽 — 每個插槽在叢集中都有其自己的節點 ID — 因此當啟動任何使用連線集區的 mysqld 程序時,您不應將節點 ID 作為叢集連線字串的一部分使用。
當使用
--ndb-cluster-connection-pool選項時,在連線字串中設定節點 ID 會在 SQL 節點嘗試連線到叢集時導致節點 ID 配置錯誤。--ndb-cluster-connection-pool-nodeids=list命令列格式 --ndb-cluster-connection-pool-nodeids系統變數 ndb_cluster_connection_pool_nodeids範圍 全域 動態 否 SET_VAR提示語適用否 類型 設定 預設值 指定 SQL 節點用於連線到叢集的節點 ID 的逗號分隔清單。此清單中的節點數必須與
--ndb-cluster-connection-pool選項設定的值相同。--ndb-blob-read-batch-bytes=bytes命令列格式 --ndb-blob-read-batch-bytes系統變數 ndb_blob_read_batch_bytes範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 65536最小值 0最大值 4294967295此選項可用於設定 NDB 叢集應用程式中
BLOB資料讀取的批次大小(以位元組為單位)。當目前交易中要讀取的BLOB資料量超過此批次大小時,會立即執行任何待定的BLOB讀取操作。此選項的最大值為 4294967295;預設值為 65536。將其設定為 0 會停用
BLOB讀取批次。注意在 NDB API 應用程式中,您可以使用
setMaxPendingBlobReadBytes()和getMaxPendingBlobReadBytes()方法控制BLOB寫入批次。--ndb-blob-write-batch-bytes=bytes命令列格式 --ndb-blob-write-batch-bytes系統變數 ndb_blob_write_batch_bytes範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 65536最小值 0最大值 4294967295單位 位元組 此選項可用於設定 NDB Cluster 應用程式中
BLOB資料寫入批次處理的大小 (以位元組為單位)。當目前交易中要寫入的BLOB資料量超過此批次大小時,任何擱置的BLOB寫入操作都會立即執行。此選項的最大值為 4294967295;預設值為 65536。將其設定為 0 會停用
BLOB寫入批次處理。注意在 NDB API 應用程式中,您可以使用
setMaxPendingBlobWriteBytes()和getMaxPendingBlobWriteBytes()方法來控制BLOB寫入批次處理。--ndb-connectstring=connection_string命令列格式 --ndb-connectstring類型 字串 當使用
NDBCLUSTER儲存引擎時,此選項會指定分發叢集組態資料的管理伺服器。請參閱 第 25.4.3.3 節「NDB Cluster 連接字串」,以了解語法。--ndb-default-column-format=[FIXED|DYNAMIC]命令列格式 --ndb-default-column-format={FIXED|DYNAMIC}系統變數 ndb_default_column_format範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 FIXED有效值 FIXEDDYNAMIC設定新資料表的預設
COLUMN_FORMAT和ROW_FORMAT(請參閱 第 15.1.20 節「CREATE TABLE 陳述式」)。預設值為FIXED。--ndb-deferred-constraints=[0|1]命令列格式 --ndb-deferred-constraints系統變數 ndb_deferred_constraints範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 1控制是否將唯一索引上的約束檢查延遲到提交時間,前提是支援此類檢查。
0為預設值。此選項通常不需要用於 NDB Cluster 或 NDB Cluster 複寫的操作,主要用於測試。
-
命令列格式 --ndb-schema-dist-timeout=#系統變數 ndb_schema_dist_timeout範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 120最小值 5最大值 1200單位 秒 指定此 mysqld 等待綱要操作完成的最長時間 (以秒為單位),然後將其標示為已逾時。
--ndb-distribution=[KEYHASH|LINHASH]命令列格式 --ndb-distribution={KEYHASH|LINHASH}系統變數 ndb_distribution範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 KEYHASH有效值 LINHASHKEYHASH控制
NDB資料表的預設分發方法。可以設定為KEYHASH(金鑰雜湊) 或LINHASH(線性雜湊)。KEYHASH為預設值。-
命令列格式 --ndb-log-apply-status[={OFF|ON}]系統變數 ndb_log_apply_status範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF導致複本 mysqld 使用自己的伺服器 ID,而不是來源的伺服器 ID,將從其直接來源接收到的任何更新記錄到其自身二進位記錄中的
mysql.ndb_apply_status資料表中。在環狀或鏈狀複寫設定中,這允許此類更新傳播到設定為目前 mysqld 複本的任何 MySQL 伺服器的mysql.ndb_apply_status資料表。在鏈狀複寫設定中,使用此選項可讓下游 (複本) 叢集知道它們相對於所有上游貢獻者 (來源) 的位置。
在環狀複寫設定中,此選項會導致
ndb_apply_status資料表的變更完成整個迴路,最終傳播回原始的 NDB Cluster。這也允許作為複寫來源的叢集查看其變更 (時間點) 何時已套用至圓圈中的其他叢集。除非使用
--ndbcluster選項啟動 MySQL 伺服器,否則此選項無效。 --ndb-log-empty-epochs=[ON|OFF]命令列格式 --ndb-log-empty-epochs[={OFF|ON}]系統變數 ndb_log_empty_epochs範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF即使啟用
log_replica_updates,也會導致在沒有變更時的時間點寫入到ndb_apply_status和ndb_binlog_index資料表中。預設會停用此選項。停用
--ndb-log-empty-epochs會導致沒有變更的時間點交易不會寫入二進位記錄,儘管即使是空的的時間點,仍然會在ndb_binlog_index中寫入一個資料列。由於
--ndb-log-empty-epochs=1會導致ndb_binlog_index資料表的大小獨立於二進位記錄的大小而增加,因此使用者應準備好管理此資料表的成長,即使他們預期叢集在大部分時間都處於閒置狀態。--ndb-log-empty-update=[ON|OFF]命令列格式 --ndb-log-empty-update[={OFF|ON}]系統變數 ndb_log_empty_update範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF即使啟用
log_replica_updates,也會導致沒有產生變更的更新寫入到ndb_apply_status和ndb_binlog_index資料表中。預設會停用此選項 (
OFF)。停用--ndb-log-empty-update會導致沒有變更的更新不會寫入二進位記錄。--ndb-log-exclusive-reads=[0|1]命令列格式 --ndb-log-exclusive-reads[={OFF|ON}]系統變數 ndb_log_exclusive_reads範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 0使用此選項啟動伺服器會導致主索引鍵讀取以獨佔鎖定記錄,這允許基於讀取衝突的 NDB Cluster 複寫衝突偵測和解決方案。您也可以透過將
ndb_log_exclusive_reads系統變數的值分別設定為 1 或 0,來在執行階段啟用和停用這些鎖定。0 (停用鎖定) 為預設值。如需詳細資訊,請參閱 讀取衝突偵測和解決方案。
-
命令列格式 --ndb-log-fail-terminate系統變數 ndb_log_fail_terminate範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 FALSE當指定此選項,且無法完整記錄所有找到的資料列事件時,mysqld 處理程序會終止。
-
命令列格式 --ndb-log-orig[={OFF|ON}]系統變數 ndb_log_orig範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF將原始伺服器 ID 和時間點記錄在
ndb_binlog_index資料表中。注意這使得給定的時間點可以在
ndb_binlog_index中有多個資料列,每個原始時間點一個資料列。如需詳細資訊,請參閱 第 25.7.4 節「NDB Cluster 複寫綱要和資料表」。
--ndb-log-transaction-dependency命令列格式 --ndb-log-transaction-dependency={true|false}系統變數 ndb_log_transaction_dependency範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 false導致
NDB二進位記錄執行緒計算每個寫入到二進位記錄的交易的交易相依性。預設值為FALSE。此選項無法在執行階段設定;對應的
ndb_log_transaction_dependency系統變數為唯讀。-
命令列格式 --ndb-log-transaction-id[={OFF|ON}]系統變數 ndb_log_transaction_id範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF導致複本 mysqld 將 NDB 交易 ID 寫入二進位記錄的每個資料列中。預設值為
FALSE。使用
NDB$EPOCH_TRANS()函數啟用 NDB Cluster 複寫衝突偵測和解決方案時,需要--ndb-log-transaction-id(請參閱 NDB$EPOCH_TRANS())。如需詳細資訊,請參閱 第 25.7.12 節「NDB Cluster 複寫衝突解決方案」。 -
命令列格式 --ndb-log-update-as-write[={OFF|ON}]系統變數 ndb_log_update_as_write範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON來源上的更新是否以更新 (
OFF) 或寫入 (ON) 的形式寫入二進位記錄。當啟用此選項,且同時停用--ndb-log-updated-only和--ndb-log-update-minimal時,不同類型的操作會依下列清單所述的方式記錄INSERT:記錄為沒有前映像的WRITE_ROW事件;後映像會記錄所有資料行。UPDATE:記錄為沒有前映像的WRITE_ROW事件;後映像會記錄所有資料行。DELETE:記錄為前映像中記錄所有資料行的DELETE_ROW事件;不記錄後映像。
此選項可與先前提及的其他兩個 NDB 記錄選項結合使用於 NDB 複寫衝突解決方案;如需詳細資訊,請參閱 ndb_replication 資料表。
-
命令列格式 --ndb-log-updated-only[={OFF|ON}]系統變數 ndb_log_updated_only範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ONmysqld 是否僅將更新 (
ON) 或完整資料列 (OFF) 寫入二進位記錄。當啟用此選項,且同時停用--ndb-log-update-as-write和--ndb-log-update-minimal時,不同類型的操作會依下列清單所述的方式記錄INSERT:記錄為沒有前映像的WRITE_ROW事件;後映像會記錄所有資料行。UPDATE:記錄為UPDATE_ROW事件,前映像和後映像中都存在主索引鍵資料行和已更新的資料行。DELETE:記錄為前映像中包含主索引鍵資料行的DELETE_ROW事件;不記錄後映像。
此選項可與先前提及的其他兩個 NDB 記錄選項結合使用於 NDB 複寫衝突解決方案;如需這些選項如何相互作用的詳細資訊,請參閱 ndb_replication 資料表。
-
命令列格式 --ndb-log-update-minimal[={OFF|ON}]系統變數 ndb_log_update_minimal範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF以最小的方式記錄更新,方法是僅在前映像中寫入主索引鍵值,並僅在後映像中寫入已變更的資料行。如果複寫到
NDB以外的儲存引擎,這可能會導致相容性問題。當啟用此選項,且同時停用--ndb-log-updated-only和--ndb-log-update-as-write時,不同類型的操作會依下列清單所述的方式記錄INSERT:記錄為沒有前映像的WRITE_ROW事件;後映像會記錄所有資料行。UPDATE:記錄為UPDATE_ROW事件,其中 before 映像包含主鍵欄位;除了主鍵欄位以外的**所有**欄位都記錄在 after 映像中。DELETE:記錄為DELETE_ROW事件,其中 before 映像包含所有欄位;不記錄 after 映像。
此選項可與先前提及的其他兩個 NDB 記錄選項結合使用於 NDB 複寫衝突解決方案;如需詳細資訊,請參閱 ndb_replication 資料表。
--ndb-mgm-tls=[relaxed|strict]命令列格式 --ndb-mgm-tls=[strict|relaxed]系統變數 ndb_mgm_tls範圍 全域 動態 否 SET_VAR提示語適用否 類型 列舉 預設值 relaxed有效值 relaxedstrict設定連線至 NDB Cluster 的 TLS 連線所需的 TLS 支援等級;值為
relaxed或strict其中之一。relaxed表示嘗試 TLS 連線,但成功並非必要;strict表示必須使用 TLS 連線。預設值為relaxed。-
命令列格式 --ndb-mgmd-host=主機名稱[:埠號]類型 字串 預設值 localhost:1186可用於設定程式連線的單一管理伺服器的主機和埠號。如果程式的連線資訊中需要節點 ID 或多個管理伺服器(或兩者)的參照,請改用
--ndb-connectstring選項。 -
命令列格式 --ndb-nodeid=#狀態變數 Ndb_cluster_node_id範圍 全域 動態 否 類型 整數 預設值 不適用最小值 1最大值 255最大值 63在 NDB Cluster 中設定此 MySQL 伺服器的節點 ID。
--ndb-nodeid選項會覆寫任何以--ndb-connectstring設定的節點 ID,無論這兩個選項的使用順序為何。此外,如果使用
--ndb-nodeid,則必須在config.ini的[mysqld]或[api]區段中找到相符的節點 ID,或者檔案中必須有一個「“開放”」的[mysqld]或[api]區段(也就是說,沒有指定NodeId或Id參數的區段)。如果節點 ID 是以連線字串的一部分指定,則情況也是如此。無論節點 ID 如何決定,它都會顯示為
SHOW STATUS輸出中的全域狀態變數Ndb_cluster_node_id的值,以及SHOW ENGINE NDBCLUSTER STATUS輸出中connection列中的cluster_node_id。如需有關 NDB Cluster SQL 節點節點 ID 的詳細資訊,請參閱 第 25.4.3.7 節,「在 NDB Cluster 中定義 SQL 和其他 API 節點」。
-
命令列格式 --ndbinfo[=value]類型 列舉 預設值 ON有效值 ONOFFFORCE啟用
ndbinfo資訊資料庫的外掛程式。預設情況下,只要啟用NDBCLUSTER,此選項就會設定為 ON。 --ndb-optimization-delay=milliseconds命令列格式 --ndb-optimization-delay=#系統變數 ndb_optimization_delay範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 10最小值 0最大值 100000單位 毫秒 設定在
NDB表格上執行OPTIMIZE TABLE陳述式時,在多組列之間等待的毫秒數。預設值為 10。--ndb-optimized-node-selection命令列格式 --ndb-optimized-node-selection啟用交易節點選擇的最佳化功能。預設為啟用;使用
--skip-ndb-optimized-node-selection停用。-
命令列格式 --ndb-tls-search-path=路徑系統變數 ndb_tls_search_path範圍 全域 動態 否 SET_VAR提示語適用否 類型 路徑名稱 預設值 (Unix) $HOME/tls預設值 (Windows) $HOMEDIR/tls要搜尋 NDB TLS 連線的 CA 和私密金鑰的目錄清單。在 Unix 平台上,清單以逗號分隔,在 Windows 上則以分號分隔。
--ndb-transid-mysql-connection-map=state命令列格式 --ndb-transid-mysql-connection-map[=state]類型 列舉 預設值 ON有效值 ONOFFFORCE啟用或停用處理
INFORMATION_SCHEMA資料庫中ndb_transid_mysql_connection_map表格的外掛程式。接受ON、OFF或FORCE其中一個值。ON(預設值)會啟用外掛程式。OFF會停用外掛程式,這會使ndb_transid_mysql_connection_map無法存取。FORCE會在此外掛程式載入和啟動失敗時,阻止 MySQL 伺服器啟動。您可以透過檢查
SHOW PLUGINS的輸出,查看ndb_transid_mysql_connection_map表格外掛程式是否正在執行。-
命令列格式 --ndb-wait-connected=#系統變數 ndb_wait_connected範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 120預設值 30最小值 0最大值 31536000單位 秒 此選項設定 MySQL 伺服器在接受 MySQL 用戶端連線之前,等待與 NDB Cluster 管理和資料節點建立連線的時間長度。時間以秒為單位指定。預設值為
30。 -
命令列格式 --ndb-wait-setup=#系統變數 ndb_wait_setup範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 120預設值 30預設值 15預設值 15最小值 0最大值 31536000單位 秒 此變數顯示 MySQL 伺服器在逾時並將
NDB視為無法使用之前,等待NDB儲存引擎完成設定的時間長度。時間以秒為單位指定。預設值為30。 -
命令列格式 --skip-ndbcluster停用
NDBCLUSTER儲存引擎。這是使用NDBCLUSTER儲存引擎支援建置的二進位檔案的預設值;只有在明確給定--ndbcluster選項時,伺服器才會為此儲存引擎配置記憶體和其他資源。如需範例,請參閱 第 25.4.1 節,「NDB Cluster 的快速測試設定」。
本節提供有關特定於 NDB Cluster 和 NDB 儲存引擎的 MySQL 伺服器系統變數的詳細資訊。如需非特定於 NDB Cluster 的系統變數,請參閱 第 7.1.8 節,「伺服器系統變數」。如需有關使用系統變數的一般資訊,請參閱 第 7.1.9 節,「使用系統變數」。
-
命令列格式 --ndb-autoincrement-prefetch-sz=#系統變數 ndb_autoincrement_prefetch_sz範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 512最小值 1最大值 65536決定自動遞增欄位中出現間隙的機率。將其設定為
1以盡量減少此情況。將其設定為較高的值進行最佳化會使插入速度更快,但會降低在一批插入中使用連續自動遞增數字的可能性。此變數只會影響在陳述式之間提取的
AUTO_INCREMENTID 數目;在給定陳述式內,一次至少會取得 32 個 ID。重要事項此變數不會影響使用
INSERT ... SELECT執行的插入作業。 -
命令列格式 --ndb-clear-apply-status[={OFF|ON}]系統變數 ndb_clear_apply_status範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON預設情況下,執行
RESET REPLICA會導致 NDB Cluster 複本清除其ndb_apply_status表格中的所有列。您可以設定ndb_clear_apply_status=OFF來停用此功能。 -
命令列格式 --ndb-conflict-role=值系統變數 ndb_conflict_role範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 NONE有效值 NONEPRIMARYSECONDARYPASS決定此 SQL 節點(和 NDB Cluster)在循環(「“主動-主動”」)複寫設定中的角色。
ndb_conflict_role可以採用PRIMARY、SECONDARY、PASS或NULL(預設值)的任何一個值。必須先停止複本 SQL 執行緒,才能變更ndb_conflict_role。此外,無法在PASS與PRIMARY或SECONDARY的任一者之間直接變更;在這種情況下,您必須確保 SQL 執行緒已停止,然後先執行SET @@GLOBAL.ndb_conflict_role = 'NONE'。此變數取代了已淘汰的
ndb_slave_conflict_role。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
-
命令列格式 --ndb-data-node-neighbour=#系統變數 ndb_data_node_neighbour範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 255設定一個「鄰近」資料節點的 ID — 也就是說,會選擇一個優先的非本機資料節點來執行交易,而不是選擇與 SQL 或 API 節點在同一主機上執行的資料節點。這用於確保在存取完全複製的資料表時,我們會在此資料節點上存取,以確保盡可能使用資料表的本機副本。這也可以用於為交易提供提示。
在節點的實體位置較近,因此網路吞吐量高於同一主機上的其他節點時,這可以改善資料存取時間。
有關更多資訊,請參閱第 15.1.20.12 節,「設定 NDB 註解選項」。
注意NDB API 應用程式提供一個等效的方法
set_data_node_neighbour()。 -
命令列格式 --ndb-dbg-check-shares=#系統變數 ndb_dbg_check_shares範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 1設定為 1 時,檢查是否有任何殘留的共享。僅適用於除錯版本。
-
命令列格式 --ndb-default-column-format={FIXED|DYNAMIC}系統變數 ndb_default_column_format範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 FIXED有效值 FIXEDDYNAMIC設定新資料表的預設
COLUMN_FORMAT和ROW_FORMAT(請參閱 第 15.1.20 節「CREATE TABLE 陳述式」)。預設值為FIXED。 -
命令列格式 --ndb-deferred-constraints=#系統變數 ndb_deferred_constraints範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 1控制是否延遲檢查條件約束(如果支援)。預設值為
0。NDB Cluster 或 NDB Cluster 複製的運作通常不需要此變數,它主要用於測試。
-
命令列格式 --ndb-distribution={KEYHASH|LINHASH}系統變數 ndb_distribution範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 KEYHASH有效值 LINHASHKEYHASH控制
NDB資料表的預設分發方法。可以設定為KEYHASH(金鑰雜湊) 或LINHASH(線性雜湊)。KEYHASH為預設值。 -
命令列格式 --ndb-eventbuffer-free-percent=#系統變數 ndb_eventbuffer_free_percent範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 20最小值 1最大值 99設定事件緩衝區 (ndb_eventbuffer_max_alloc) 配置的最大記憶體百分比,在達到最大值後,應在事件緩衝區中可用的百分比,然後再開始再次緩衝。
-
命令列格式 --ndb-eventbuffer-max-alloc=#系統變數 ndb_eventbuffer_max_alloc範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 9223372036854775807設定 NDB API 可以配置用於緩衝事件的最大記憶體量(以位元組為單位)。0 表示不設限,這是預設值。
-
命令列格式 ndb_extra_logging=#系統變數 ndb_extra_logging範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 1最小值 0最大值 1此變數啟用在 MySQL 錯誤日誌中記錄特定於
NDB儲存引擎的資訊。當此變數設定為 0 時,寫入 MySQL 錯誤日誌的唯一特定於
NDB的資訊與交易處理相關。如果設定為大於 0 但小於 10 的值,也會記錄NDB資料表結構和連線事件,以及是否正在使用衝突解決方案,以及其他NDB錯誤和資訊。如果值設定為 10 或更高,則有關NDB內部資訊(例如叢集節點之間資料分佈的進度)也會寫入 MySQL 錯誤日誌。預設值為 1。 -
命令列格式 --ndb-force-send[={OFF|ON}]系統變數 ndb_force_send範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON強制立即將緩衝區傳送到
NDB,而無需等待其他執行緒。預設為ON。 -
命令列格式 --ndb-fully-replicated[={OFF|ON}]系統變數 ndb_fully_replicated範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF決定新的
NDB資料表是否完全複製。可以使用CREATE TABLE或ALTER TABLE陳述式中的COMMENT="NDB_TABLE=FULLY_REPLICATED=..."來覆寫單一資料表的此設定;有關語法和其他資訊,請參閱第 15.1.20.12 節,「設定 NDB 註解選項」。 -
命令列格式 --ndb-index-stat-enable[={OFF|ON}]系統變數 ndb_index_stat_enable範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON在查詢最佳化中使用
NDB索引統計資料。預設值為ON。無論此選項的值為何,伺服器啟動時都會建立索引統計資料表。
-
命令列格式 --ndb-index-stat-option=value系統變數 ndb_index_stat_option範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 字串 預設值 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此變數用於為 NDB 索引統計資料產生提供微調選項。此清單包含以逗號分隔的選項名稱和值組,且此清單不得包含任何空格字元。
設定
ndb_index_stat_option時未使用的選項不會變更其預設值。例如,您可以設定ndb_index_stat_option = 'loop_idle=1000ms,cache_limit=32M'。時間值可以選擇性地加上
h(小時)、m(分鐘) 或s(秒)。毫秒值可以選擇性地使用ms指定;毫秒值不能使用h、m或s指定。) 整數值可以加上K、M或G。下表顯示可以使用此變數設定的選項名稱。此表格也提供選項的簡要說明、其預設值,以及(如果適用)其最小值和最大值。
表格 25.19:ndb_index_stat_option 選項和值
名稱 說明 預設值/單位 最小值/最大值 loop_enable1000 毫秒 0/4G loop_idle閒置時睡眠的時間 1000 毫秒 0/4G loop_busy等待更多工作時睡眠的時間 100 毫秒 0/4G update_batch1 0/4G read_batch4 1/4G idle_batch32 1/4G check_batch8 1/4G check_delay檢查新統計資料的頻率 10 分鐘 1/4G delete_batch8 0/4G clean_delay1 分鐘 0/4G error_batch4 1/4G error_delay1 分鐘 1/4G evict_batch8 1/4G evict_delay從讀取時間清除 LRU 快取 1 分鐘 0/4G cache_limit此 mysqld 用於快取索引統計資料的最大記憶體量(以位元組為單位);當超過此值時,清除快取。 32 M 0/4G cache_lowpct90 0/100 zero_total將此項設定為 1 會將 ndb_index_stat_status中所有累計計數器重設為 0。完成此動作時,此選項值也會重設為 0。0 0/1 -
系統變數 ndb_join_pushdown範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON此變數控制是否將
NDB資料表上的聯結下推至 NDB 核心(資料節點)。先前,聯結是使用 SQL 節點多次存取NDB來處理的;但是,當啟用ndb_join_pushdown時,可下推的聯結會完整地傳送到資料節點,在那裡可以在資料節點之間分發並在資料的多個副本上並行執行,並且將單一合併的結果傳回至 mysqld。這可以大幅減少處理此類聯結所需的 SQL 節點和資料節點之間的往返次數。預設情況下,會啟用
ndb_join_pushdown。NDB 下推聯結的條件。 為了使聯結可下推,必須符合下列條件
只能比較資料行,且要聯結的所有資料行都必須使用完全相同的資料類型。這表示(例如)
INT資料行和BIGINT資料行的聯結也無法下推。也可以下推比較相同資料表資料行的運算式。資料行(或對這些資料行進行任何運算的結果)的類型必須完全相同,包括相同的正負號、長度、字元集和定序、精確度和刻度(如果適用)。
不支援明確鎖定;但是,會強制執行
NDB儲存引擎的特性隱含以列為基礎的鎖定。這表示無法下推使用
FOR UPDATE的聯結。為了使聯結可下推,聯結中的子資料表必須使用
ref、eq_ref或const存取方法中的一種或這些方法的組合來存取。只能使用
eq_ref下推外部聯結的子資料表。如果下推聯結的根是
eq_ref或const,則只能附加以eq_ref聯結的子資料表。(以ref聯結的資料表很可能成為另一個下推聯結的根。)如果查詢最佳化工具決定為候選子資料表使用
Using join cache,則該資料表無法以下推方式成為子資料表。但是,它可能是另一組下推資料表的根。目前無法下推參考以
[LINEAR] HASH、LIST或RANGE明確分割的資料表的聯結。
您可以使用
EXPLAIN來檢查給定的聯結是否可以下推;當聯結可以下推時,您可以在輸出的Extra欄位中看到對pushed join的參考,如本範例所示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)注意如果內部聯結的子資料表透過
ref聯結,且 結果是依已排序的索引排序或分組,則此索引無法提供已排序的資料列,這會強制寫入已排序的暫存檔。另外有兩種關於下推聯結效能的資訊來源可以使用
狀態變數
Ndb_pushed_queries_defined、Ndb_pushed_queries_dropped、Ndb_pushed_queries_executed和Ndb_pushed_reads。屬於
DBSPJ核心區塊的ndbinfo.counters資料表中的計數器。
-
命令列格式 --ndb-log-apply-status[={OFF|ON}]系統變數 ndb_log_apply_status範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF一個唯讀變數,顯示伺服器是否使用
--ndb-log-apply-status選項啟動。 -
命令列格式 --ndb-log-bin[={OFF|ON}]系統變數 ndb_log_bin範圍 全域、工作階段 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF導致對
NDB資料表的更新寫入二進位日誌。如果伺服器上尚未使用log_bin啟用二進位日誌,則此變數的設定無效。ndb_log_bin的預設值為 0 (FALSE)。 -
命令列格式 --ndb-log-binlog-index[={OFF|ON}]系統變數 ndb_log_binlog_index範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON導致將 epoch 對應到二進位日誌中的位置插入到
ndb_binlog_index資料表中。如果伺服器尚未使用log_bin啟用二進位日誌,則設定此變數無效。(此外,ndb_log_bin不得停用。)ndb_log_binlog_index的預設值為1(ON);通常,在生產環境中絕對不需要變更此值。 -
命令列格式 --ndb-log-empty-epochs[={OFF|ON}]系統變數 ndb_log_empty_epochs範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF當此變數設定為 0 時,沒有變更的 epoch 交易不會寫入二進位日誌,儘管即使對於
ndb_binlog_index中的空 epoch,仍會寫入資料列。 -
命令列格式 --ndb-log-empty-update[={OFF|ON}]系統變數 ndb_log_empty_update範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF當此變數設定為
ON(1) 時,即使啟用log_replica_updates,也會將沒有變更的更新交易寫入二進位日誌。 -
命令列格式 --ndb-log-exclusive-reads[={OFF|ON}]系統變數 ndb_log_exclusive_reads範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 0此變數決定是否使用獨佔鎖定來記錄主鍵讀取,這允許基於讀取衝突的 NDB Cluster 複寫衝突偵測和解決。若要啟用這些鎖定,請將
ndb_log_exclusive_reads的值設定為 1。預設值為 0,這會停用此類鎖定。如需詳細資訊,請參閱 讀取衝突偵測和解決方案。
-
命令列格式 --ndb-log-orig[={OFF|ON}]系統變數 ndb_log_orig範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF顯示來源伺服器 ID 和 epoch 是否記錄在
ndb_binlog_index資料表中。使用--ndb-log-orig伺服器選項設定。 -
系統變數 ndb_log_transaction_id範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 OFF此唯讀布林系統變數顯示複本 mysqld 是否將 NDB 交易 ID 寫入二進位日誌(使用 「active-active」 NDB Cluster 複寫與
NDB$EPOCH_TRANS()衝突偵測所必需)。若要變更設定,請使用--ndb-log-transaction-id選項。在主線 MySQL Server 9.0 中不支援
ndb_log_transaction_id。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
ndb_log_transaction_compression命令列格式 --ndb-log-transaction-compression系統變數 ndb_log_transaction_compression範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF複本 mysqld 是否將壓縮的交易寫入二進位日誌;只有當 mysqld 是在支援
NDB的情況下編譯時才會出現。您應該注意,使用
--binlog-transaction-compression啟動 MySQL 伺服器會強制啟用此變數 (ON),並且這會覆寫在命令列或my.cnf檔案中設定的任何--ndb-log-transaction-compression,如此處所示$> mysqld_safe --ndbcluster --ndb-connectstring=127.0.0.1 \ --binlog-transaction-compression=ON --ndb-log-transaction-compression=OFF & [1] 27667 $> 2022-07-07T12:29:20.459937Z mysqld_safe Logging to '/usr/local/mysql/data/myhost.err'. 2022-07-07T12:29:20.509873Z mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data $> mysql -e 'SHOW VARIABLES LIKE "%transaction_compression%"' +--------------------------------------------+-------+ | Variable_name | Value | +--------------------------------------------+-------+ | binlog_transaction_compression | ON | | binlog_transaction_compression_level_zstd | 3 | | ndb_log_transaction_compression | ON | | ndb_log_transaction_compression_level_zstd | 3 | +--------------------------------------------+-------+若要僅針對
NDB資料表停用二進位日誌交易壓縮,請在啟動 mysqld 後,於 mysql 或其他用戶端工作階段中,將ndb_log_transaction_compression系統變數設定為OFF。啟動後設定
binlog_transaction_compression變數對ndb_log_transaction_compression的值沒有影響。如需二進位日誌交易壓縮的詳細資訊,例如哪些事件會或不會壓縮,以及使用此功能時應注意的行為變更,請參閱 第 7.4.4.5 節「二進位日誌交易壓縮」。
ndb_log_transaction_compression_level_zstd命令列格式 --ndb-log-transaction-compression-level-zstd=#系統變數 ndb_log_transaction_compression_level_zstd範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 3最小值 1最大值 22如果透過
ndb_log_transaction_compression啟用,則用於將壓縮的交易寫入複本的二進位日誌的ZSTD壓縮層級。如果 mysqld 未在支援NDB儲存引擎的情況下編譯,則不支援。如需更多資訊,請參閱第 7.4.4.5 節「二進位日誌交易壓縮」。
-
命令列格式 --ndb-metadata-check[={OFF|ON}]系統變數 ndb_metadata_check範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ONNDB使用背景執行緒,將與 MySQL 資料字典比較的每個ndb_metadata_check_interval秒檢查中繼資料變更。可以透過將ndb_metadata_check設定為OFF來停用此中繼資料變更偵測執行緒。預設會啟用執行緒。 -
命令列格式 --ndb-metadata-check-interval=#系統變數 ndb_metadata_check_interval範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 60最小值 0最大值 31536000單位 秒 NDB在背景中執行中繼資料變更偵測執行緒,以判斷 NDB 字典相對於 MySQL 資料字典的變更時間。依預設,此類檢查之間的間隔為 60 秒;可以透過設定ndb_metadata_check_interval的值來調整此間隔。若要啟用或停用執行緒,請使用ndb_metadata_check。 -
系統變數 ndb_metadata_sync範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 false設定此變數會導致變更監視器執行緒覆寫為
ndb_metadata_check或ndb_metadata_check_interval設定的任何值,並進入連續變更偵測的週期。當執行緒確定沒有更多變更需要偵測時,它會暫停,直到二進位日誌執行緒完成所有偵測到的物件的同步。然後將ndb_metadata_sync設定為false,而變更監視器執行緒會還原為ndb_metadata_check和ndb_metadata_check_interval的設定所決定的行為。將此變數設定為
true會導致清除排除的物件清單;將其設定為false會清除要重試的物件清單。 -
命令列格式 --ndb-optimized-node-selection=#系統變數 ndb_optimized_node_selection範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 3最小值 0最大值 3此處說明了兩種形式的最佳化節點選取
SQL 節點使用接近度來判斷交易協調器;也就是說,選擇「最接近」SQL 節點的資料節點作為交易協調器。為此,具有與 SQL 節點共用記憶體連線的資料節點被視為「最接近」SQL 節點;接近度第二的(依接近度遞減的順序)是:連線到
localhost的 TCP 連線,其次是來自localhost以外主機的 TCP 連線。SQL 執行緒使用分佈感知來選取資料節點。也就是說,將由給定交易的第一個陳述式存取的叢集分割區所包含的資料節點用作整個交易的交易協調器。(僅當交易的第一個陳述式存取不超過一個叢集分割區時,此方法才有效。)
此選項採用整數值
0、1、2或3之一。3是預設值。這些值會以下列方式影響節點選取0:未最佳化節點選取。每個資料節點在 SQL 執行緒繼續到下一個資料節點之前,會被用作交易協調器 8 次。1:與 SQL 節點的鄰近程度用於決定事務協調器。2:分佈感知用於選擇事務協調器。但是,如果事務的第一個語句存取多個叢集分割區,則 SQL 節點會回復為當此選項設定為0時所見的循環配置行為。3:如果可以使用分佈感知來決定事務協調器,則會使用它;否則,會使用鄰近程度來選擇事務協調器。(這是預設行為。)
鄰近程度的決定方式如下
從
Group參數(預設值為 55)設定的值開始。對於與其他 API 節點共用相同主機的 API 節點,將值減 1。假設
Group的預設值,則與 API 節點位於同一主機上的資料節點的有效值為 54,而遠端資料節點的有效值為 55。設定
ndb_data_node_neighbour會進一步將有效的Group值減少 50,導致此節點被視為最近的節點。只有當所有資料節點都位於與 API 節點不同的主機上,且希望將其中一個節點專用於 API 節點時,才需要這樣做。在正常情況下,先前描述的預設調整已足夠。
不建議頻繁變更
ndb_data_node_neighbour,因為這會變更叢集連線的狀態,因此可能會擾亂每個執行緒新事務的選擇演算法,直到其穩定下來。 -
命令列格式 --ndb-read-backup[={OFF|ON}]系統變數 ndb_read_backup範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON啟用從後續建立的任何
NDB表格的任何片段副本讀取;這樣做可以大幅改善表格讀取效能,而寫入的成本相對較小。如果 SQL 節點和資料節點使用相同的主機名稱或 IP 位址,系統會自動偵測到此事實,因此偏好將讀取傳送到相同的主機。如果這些節點位於相同的主機上,但使用不同的 IP 位址,您可以透過在 SQL 節點上將
ndb_data_node_neighbour的值設定為資料節點的節點 ID,來告知 SQL 節點使用正確的資料節點。若要為個別表格啟用或停用從任何片段副本讀取,您可以在
CREATE TABLE或ALTER TABLE陳述式中,為表格設定NDB_TABLE選項READ_BACKUP;如需詳細資訊,請參閱 章節 15.1.20.12,「設定 NDB 註解選項」。 ndb_recv_thread_activation_threshold命令列格式 --ndb-recv-thread-activation-threshold=#系統變數 ndb_recv_thread_activation_threshold範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 8最小值 0 (MIN_ACTIVATION_THRESHOLD)最大值 16 (MAX_ACTIVATION_THRESHOLD)當達到此數量的並行活動執行緒時,接收執行緒會接管叢集連線的輪詢。
此變數的範圍是全域的。它也可以在啟動時設定。
-
命令列格式 --ndb-recv-thread-cpu-mask=mask系統變數 ndb_recv_thread_cpu_mask範圍 全域 動態 是 SET_VAR提示語適用否 類型 位元遮罩 預設值 [空]將接收器執行緒鎖定到特定 CPU 的 CPU 遮罩。這指定為十六進位位元遮罩。例如,
0x33表示每個接收器執行緒使用一個 CPU。空字串是預設值;將ndb_recv_thread_cpu_mask設定為此值會移除先前設定的任何接收器執行緒鎖定。此變數的範圍是全域的。它也可以在啟動時設定。
ndb_report_thresh_binlog_epoch_slip命令列格式 --ndb-report-thresh-binlog-epoch-slip=#系統變數 ndb_report_thresh_binlog_epoch_slip範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 10最小值 0最大值 256這表示事件緩衝區中完全緩衝但尚未被二進位記錄注入器執行緒使用的 epoch 數量的臨界值。當超過此程度的滑動 (延遲) 時,會報告事件緩衝區狀態訊息,並提供
BUFFERED_EPOCHS_OVER_THRESHOLD作為原因(請參閱章節 25.6.2.3,「叢集日誌中的事件緩衝區報告」)。當從資料節點接收 epoch 並在事件緩衝區中完全緩衝時,滑動會增加;當二進位記錄注入器執行緒使用 epoch 時,滑動會減少。空 epoch 會緩衝和排隊,因此只有在使用來自 NDB API 的Ndb::setEventBufferQueueEmptyEpoch()方法啟用時,才會包含在此計算中。ndb_report_thresh_binlog_mem_usage命令列格式 --ndb-report-thresh-binlog-mem-usage=#系統變數 ndb_report_thresh_binlog_mem_usage範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 10最小值 0最大值 10這是回報二進位記錄狀態前,剩餘可用記憶體百分比的臨界值。例如,值
10(預設值) 表示如果從資料節點接收二進位記錄資料的可用記憶體量降至 10% 以下,則會將狀態訊息傳送到叢集日誌。-
系統變數 ndb_row_checksum範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 1最小值 0最大值 1傳統上,
NDB會建立具有列總和檢查碼的表格,這會在效能方面付出代價來檢查硬體問題。將ndb_row_checksum設定為 0 表示新表格或變更的表格 不 會使用列總和檢查碼,這對所有類型的查詢的效能都有顯著影響。此變數預設設定為 1,以提供向後相容的行為。 ndb_schema_dist_lock_wait_timeout命令列格式 --ndb-schema-dist-lock-wait-timeout=value系統變數 ndb_schema_dist_lock_wait_timeout範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 30最小值 0最大值 1200單位 秒 在綱要分發期間等待數秒,以取得每個 SQL 節點上取得的中繼資料鎖定,以便變更其本機資料字典以反映 DDL 陳述式變更。經過此時間後,會傳回警告,指出指定 SQL 節點的資料字典未更新該變更。這可避免二進位記錄執行緒在處理綱要作業時等待過長的時間。
-
命令列格式 --ndb-schema-dist-timeout=value系統變數 ndb_schema_dist_timeout範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 120最小值 5最大值 1200單位 秒 在綱要分發期間等待數秒,然後偵測逾時。這可能表示其他 SQL 節點正經歷過多的活動,或者它們以某種方式被阻止在此時取得必要的資源。
ndb_schema_dist_upgrade_allowed命令列格式 --ndb-schema-dist-upgrade-allowed=value系統變數 ndb_schema_dist_upgrade_allowed範圍 全域 動態 否 SET_VAR提示語適用否 類型 布林 預設值 true允許在連線到
NDB時升級綱要分發表格。當為 true (預設值) 時,此變更會延遲到所有 SQL 節點都升級到相同版本的 NDB 叢集軟體為止。注意在執行升級之前,綱要分發的效能可能會略為降低。
ndb_show_foreign_key_mock_tables命令列格式 --ndb-show-foreign-key-mock-tables[={OFF|ON}]系統變數 ndb_show_foreign_key_mock_tables範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF顯示
NDB用於支援foreign_key_checks=0的模擬表格。當啟用此功能時,在建立和捨棄表格時會顯示額外的警告。表格的真實 (內部) 名稱可以在SHOW CREATE TABLE的輸出中看到。-
命令列格式 --ndb-slave-conflict-role=value已過時 是 系統變數 ndb_slave_conflict_role範圍 全域 動態 是 SET_VAR提示語適用否 類型 列舉 預設值 NONE有效值 NONEPRIMARYSECONDARYPASSndb_conflict_role的已過時同義詞。 -
系統變數 ndb_table_no_logging範圍 工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF當此變數設定為
ON或1時,它會導致使用ENGINE NDB建立或變更的所有表格都為非記錄;也就是說,此表格的任何資料變更都不會寫入重做記錄或檢查點到磁碟,就像使用CREATE TABLE或ALTER TABLE的NOLOGGING選項建立或變更表格一樣。如需有關非記錄
NDB表格的詳細資訊,請參閱NDB_TABLE 選項。ndb_table_no_logging對於建立NDB表格綱要檔案沒有影響;若要隱藏這些檔案,請改用ndb_table_temporary。 -
系統變數 ndb_table_temporary範圍 工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF當設定為
ON或1時,此變數會導致NDB資料表不寫入磁碟:這表示不會建立任何資料表綱要檔案,並且不會記錄資料表。注意目前設定此變數無效。這是一個已知問題;請參閱 Bug #34036。
-
系統變數 ndb_use_copying_alter_table範圍 全域、工作階段 動態 否 SET_VAR提示語適用否 當線上
ALTER TABLE操作發生問題時,強制NDB使用複製資料表的方式。預設值為OFF。 -
系統變數 ndb_use_exact_count範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF強制
NDB在SELECT COUNT(*)查詢規劃期間使用記錄計數,以加快此類查詢的速度。預設值為OFF,這樣可以整體加快查詢速度。 -
命令列格式 --ndb-use-transactions[={OFF|ON}]系統變數 ndb_use_transactions範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON您可以將此變數的值設定為
OFF來停用NDB交易支援。一般不建議這樣做,但當某個用戶端工作階段用於匯入一個或多個包含大型交易的傾印檔案時,停用該工作階段內的交易支援可能會有用;這樣就可以分段執行多行插入,而不是單一交易。在這種情況下,匯入完成後,您應該將此工作階段的變數值重設為ON,或直接終止工作階段。 -
系統變數 ndb_version範圍 全域 動態 否 SET_VAR提示語適用否 類型 字串 預設值 NDB引擎版本,以複合整數表示。 -
系統變數 ndb_version_string範圍 全域 動態 否 SET_VAR提示語適用否 類型 字串 預設值 格式為
ndb-的x.y.zNDB引擎版本。 -
命令列格式 --replica-allow-batching[={OFF|ON}]系統變數 replica_allow_batching範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ON是否在 NDB Cluster 複本上啟用批次更新。
允許複本上的批次更新可以大幅提高效能,尤其是在複製
TEXT、BLOB和JSON欄位時。因此,預設會啟用replica_allow_batching。只有在使用
NDB儲存引擎進行複寫時,設定此變數才會生效;在 MySQL Server 9.0 中,它會存在但不會執行任何動作。如需更多資訊,請參閱 Section 25.7.6, “Starting NDB Cluster Replication (Single Replication Channel)”。 -
命令列格式 --ndb-replica-batch-size=#系統變數 ndb_replica_batch_size範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 2097152最小值 0最大值 2147483648單位 位元組 決定複寫應用程式執行緒使用的批次大小(以位元組為單位)。設定此變數,而不是
--ndb-batch-size選項,以將此設定套用至複本,排除任何其他工作階段。如果未設定此變數 (預設值為 2 MB),則其有效值會是
--ndb-batch-size和 2 MB 中的較大值。 ndb_replica_blob_write_batch_bytes命令列格式 --ndb-replica-blob-write-batch-bytes=#系統變數 ndb_replica_blob_write_batch_bytes範圍 全域 動態 是 SET_VAR提示語適用否 類型 整數 預設值 2097152最小值 0最大值 2147483648單位 位元組 控制複寫應用程式執行緒用於 blob 資料的批次寫入大小。
使用此變數,而不是
--ndb-blob-write-batch-bytes選項來控制複本上的 blob 批次寫入大小,排除任何其他工作階段。原因在於,當未設定ndb_replica_blob_write_batch_bytes時,有效的 blob 批次大小 (也就是,blob 欄位要寫入的暫止位元組最大數量) 是由--ndb-blob-write-batch-bytes和 2 MB 中的較大值決定 (ndb_replica_blob_write_batch_bytes的預設值)。將
ndb_replica_blob_write_batch_bytes設定為 0 表示NDB不會限制複本上 blob 批次寫入的大小。-
命令列格式 --server-id-bits=#系統變數 server_id_bits範圍 全域 動態 否 SET_VAR提示語適用否 類型 整數 預設值 32最小值 7最大值 32此變數表示 32 位元
server_id中,實際識別伺服器的最低有效位元數。指出伺服器實際上由少於 32 個位元識別,可以讓其餘位元用於其他目的,例如儲存使用 NDB API 的 Event API 的應用程式所產生的使用者資料,在OperationOptions結構的AnyValue中 (NDB Cluster 使用AnyValue來儲存伺服器 ID)。當從
server_id中擷取有效伺服器 ID 以用於偵測複寫迴圈等目的時,伺服器會忽略其餘位元。當決定是否應根據伺服器 ID 忽略事件時,I/O 和 SQL 執行緒會使用server_id_bits變數來遮罩掉server_id的任何不相關位元。如果
server_id_bits變數設定為 32 (預設值),則可以使用 mysqlbinlog 從二進位日誌中讀取此資料。如果
server_id的值大於或等於 2 的server_id_bits次方,則 mysqld 會拒絕啟動。此系統變數僅受 NDB Cluster 支援。標準 MySQL 9.0 Server 不支援此變數。
-
命令列格式 --slave-allow-batching[={OFF|ON}]已過時 是 系統變數 slave_allow_batching範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 ONreplica_allow_batching的已過時同義詞。 -
系統變數 transaction_allow_batching範圍 工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF當設定為
1或ON時,此變數會啟用同一交易中陳述式的批次處理。若要使用此變數,必須先停用autocommit,方法是將其設定為0或OFF;否則,設定transaction_allow_batching無效。使用僅執行寫入的交易時,此變數是安全的,因為啟用此變數可能會從「之前」的映像檔讀取。您應確保在發出
SELECT之前,所有暫止的交易都已認可 (如果需要,可以使用明確的COMMIT)。重要事項當給定陳述式的效果可能會取決於相同交易中先前陳述式的結果時,不應使用
transaction_allow_batching。此變數目前僅支援 NDB Cluster。
以下清單中的系統變數全都與 ndbinfo 資訊資料庫有關。
-
系統變數 ndbinfo_database範圍 全域 動態 否 SET_VAR提示語適用否 類型 字串 預設值 ndbinfo顯示用於
NDB資訊資料庫的名稱;預設值為ndbinfo。這是一個唯讀變數,其值在編譯時決定。 -
命令列格式 --ndbinfo-max-bytes=#系統變數 ndbinfo_max_bytes範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 0最小值 0最大值 65535僅用於測試和偵錯。
-
命令列格式 --ndbinfo-max-rows=#系統變數 ndbinfo_max_rows範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 整數 預設值 10最小值 1最大值 256僅用於測試和偵錯。
-
系統變數 ndbinfo_offline範圍 全域 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF將
ndbinfo資料庫置於離線模式,在此模式下,即使資料表和檢視實際上不存在,或存在但NDB中的定義不同時,也可以開啟它們。不會從這類資料表 (或檢視) 傳回任何資料列。 -
命令列格式 --ndbinfo-show-hidden[={OFF|ON}]系統變數 ndbinfo_show_hidden範圍 全域、工作階段 動態 是 SET_VAR提示語適用否 類型 布林 預設值 OFF有效值 ONOFF是否在 mysql 用戶端中顯示
ndbinfo資料庫的基礎內部資料表。預設值為OFF。注意啟用
ndbinfo_show_hidden時,內部資料表只會顯示在ndbinfo資料庫中;無論變數的設定為何,它們都不會顯示在TABLES或其他INFORMATION_SCHEMA資料表中。 -
系統變數 ndbinfo_table_prefix範圍 全域 動態 否 SET_VAR提示語適用否 類型 字串 預設值 ndb$用於命名 ndbinfo 資料庫的基底資料表的前置詞 (通常會隱藏,除非透過設定
ndbinfo_show_hidden來公開)。這是一個唯讀變數,其預設值為ndb$;前置詞本身是在編譯時決定。 -
系統變數 ndbinfo_version範圍 全域 動態 否 SET_VAR提示語適用否 類型 字串 預設值 顯示使用的
ndbinfo引擎版本;唯讀。
本節提供關於 MySQL 伺服器與 NDB Cluster 和 NDB 儲存引擎相關的狀態變數的詳細資訊。關於非 NDB Cluster 特有的狀態變數,以及關於使用狀態變數的一般資訊,請參閱 第 7.1.10 節「伺服器狀態變數」。
MySQL 伺服器可以詢問
NDBCLUSTER儲存引擎是否知道具有給定名稱的資料表。這被稱為探索。Handler_discover指示使用此機制探索資料表的次數。Ndb_api_adaptive_send_deferred_count實際未傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_deferred_count_session實際未傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_deferred_count_replica此複本實際未傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_deferred_count_slaveNdb_api_adaptive_send_forced_count此 MySQL 伺服器(SQL 節點)使用強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_forced_count_session在此用戶端會期中,使用強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_forced_count_replica此複本使用強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_forced_count_slaveNdb_api_adaptive_send_unforced_count此 MySQL 伺服器(SQL 節點)未經強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_unforced_count_session在此用戶端會期中,未經強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_unforced_count_replica此複本未經強制傳送所傳送的自適應傳送呼叫次數。
如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_adaptive_send_unforced_count_slaveNdb_api_bytes_sent_count_session在此用戶端會期中,傳送到資料節點的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_bytes_sent_count_replica此複本傳送到資料節點的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_bytes_sent_count_slaveNdb_api_bytes_sent_count_replica的已棄用同義詞。此 MySQL 伺服器(SQL 節點)傳送到資料節點的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_bytes_received_count_session在此用戶端會期中,從資料節點接收的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_bytes_received_count_replica此複本從資料節點接收的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_bytes_received_count_slaveNdb_api_bytes_received_count_replica的已棄用同義詞。此 MySQL 伺服器(SQL 節點)從資料節點接收的資料量(以位元組為單位)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_event_data_count_injectorNDB 二進位日誌注入器執行緒接收的資料列變更事件數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
此 MySQL 伺服器(SQL 節點)接收的資料列變更事件數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_event_nondata_count_injectorNDB 二進位日誌注入器執行緒接收的事件數(資料列變更事件除外)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
此 MySQL 伺服器(SQL 節點)接收的事件數(資料列變更事件除外)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_event_bytes_count_injectorNDB 二進位日誌注入器執行緒接收的事件位元組數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
此 MySQL 伺服器(SQL 節點)接收的事件位元組數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
在此用戶端會期中,基於或使用主索引鍵的操作次數。這包括對 Blob 資料表的操作、隱式解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
此複本基於或使用主索引鍵的操作次數。這包括對 Blob 資料表的操作、隱式解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_pk_op_count_replica的已棄用同義詞。此 MySQL 伺服器(SQL 節點)基於或使用主索引鍵的操作次數。這包括對 Blob 資料表的操作、隱式解除鎖定操作和自動遞增操作,以及使用者可見的主索引鍵操作。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_pruned_scan_count_session在此用戶端會期中,已修剪為單一分割區的掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_pruned_scan_count_replica此複本已修剪為單一分割區的掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_pruned_scan_count_slaveNdb_api_pruned_scan_count_replica的已棄用同義詞。此 MySQL 伺服器(SQL 節點)已修剪為單一分割區的掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_range_scan_count_session在此用戶端會期中已啟動的範圍掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_range_scan_count_replica此複本已啟動的範圍掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_range_scan_count_slaveNdb_api_range_scan_count_replica的已棄用同義詞。此 MySQL 伺服器 (SQL 節點) 已啟動的範圍掃描次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_read_row_count_session在此用戶端連線中已讀取的總行數。這包括在此用戶端連線中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_read_row_count_replica此複本已讀取的總行數。這包括此複本中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
已棄用的
Ndb_api_read_row_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已讀取的總行數。這包括此 MySQL 伺服器 (SQL 節點) 中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
您應注意,由於在這種情況下,MySQL 伺服器實際上是以
[的形式讀取虛擬行,並對資料表中所有片段的每片段行數進行加總,以導出所有行的估計計數,因此此值可能與資料表片段 ID]:[片段中的行數]SELECTCOUNT(*)查詢讀取的行數不完全準確。Ndb_api_read_row_count使用此估計值,而不是資料表中的實際行數。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_scan_batch_count_session在此用戶端連線中接收到的行批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_scan_batch_count_replica此複本接收到的行批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_scan_batch_count_slave已棄用的
Ndb_api_scan_batch_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 接收到的行批次數。1 個批次定義為來自單一片段的 1 組掃描結果。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_table_scan_count_session在此用戶端連線中已啟動的資料表掃描次數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_table_scan_count_replica此複本已啟動的資料表掃描次數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_table_scan_count_slave已棄用的
Ndb_api_table_scan_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已啟動的資料表掃描次數,包括內部資料表的掃描。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_abort_count_session在此用戶端連線中已中止的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_abort_count_replica此複本已中止的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_abort_count_slave已棄用的
Ndb_api_trans_abort_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已中止的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_close_count_session在此用戶端連線中已關閉的事務次數。此值可能會大於
Ndb_api_trans_commit_count_session和Ndb_api_trans_abort_count_session的總和,因為某些事務可能已回滾。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_close_count_replica此複本已關閉的事務次數。此值可能會大於
Ndb_api_trans_commit_count_replica和Ndb_api_trans_abort_count_replica的總和,因為某些事務可能已回滾。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_close_count_slave已棄用的
Ndb_api_trans_close_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已關閉的事務次數。此值可能會大於
Ndb_api_trans_commit_count和Ndb_api_trans_abort_count的總和,因為某些事務可能已回滾。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_commit_count_session在此用戶端連線中已提交的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_commit_count_replica此複本已提交的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_commit_count_slave已棄用的
Ndb_api_trans_commit_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已提交的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_local_read_row_count_session在此用戶端連線中已讀取的總行數。這包括在此用戶端連線中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_local_read_row_count_replica此複本已讀取的總行數。這包括此複本中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_local_read_row_count_slaveNdb_api_trans_local_read_row_count此 MySQL 伺服器 (SQL 節點) 已讀取的總行數。這包括此 MySQL 伺服器 (SQL 節點) 中,所有透過主鍵、唯一鍵或掃描操作讀取的行。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_start_count_session在此用戶端連線中已啟動的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_start_count_replica此複本已啟動的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_trans_start_count_slave已棄用的
Ndb_api_trans_start_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 已啟動的事務次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
在此用戶端連線中,基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
此複本基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
已棄用的
Ndb_api_uk_op_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 基於或使用唯一鍵的操作次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_exec_complete_count_session在此用戶端連線中,線程在等待操作執行完成時被封鎖的次數。這包括所有
execute()呼叫,以及對客戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_exec_complete_count_replica此複本在等待操作執行完成時,線程被封鎖的次數。這包括所有
execute()呼叫,以及對客戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_exec_complete_count_slave已棄用的
Ndb_api_wait_exec_complete_count_replica同義詞。Ndb_api_wait_exec_complete_count此 MySQL 伺服器 (SQL 節點) 的執行緒在等待操作完成執行時被封鎖的次數。這包括所有
execute()呼叫,以及對用戶端不可見的 blob 和自動遞增操作的隱式執行。雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_meta_request_count_session此用戶端工作階段中的執行緒在等待基於中繼資料的訊號 (例如 DDL 請求、新的 epoch 以及交易記錄的取得) 時被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_meta_request_count_replica此副本的執行緒在等待基於中繼資料的訊號 (例如 DDL 請求、新的 epoch 以及交易記錄的取得) 時被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_meta_request_count_slave已棄用的
Ndb_api_wait_meta_request_count_replica同義詞。Ndb_api_wait_meta_request_count此 MySQL 伺服器 (SQL 節點) 的執行緒在等待基於中繼資料的訊號 (例如 DDL 請求、新的 epoch 以及交易記錄的取得) 時被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_nanos_count_session在此用戶端工作階段中,等待來自資料節點的任何類型訊號所花費的總時間 (奈秒)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_nanos_count_replica此副本等待來自資料節點的任何類型訊號所花費的總時間 (奈秒)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_nanos_count_slave已棄用的
Ndb_api_wait_nanos_count_replica同義詞。此 MySQL 伺服器 (SQL 節點) 等待來自資料節點的任何類型訊號所花費的總時間 (奈秒)。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_scan_result_count_session此用戶端工作階段中的執行緒在等待基於掃描的訊號時 (例如等待掃描的更多結果,或等待掃描關閉時) 被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它僅與目前會期相關,且不受此 mysqld 的任何其他用戶端影響。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_scan_result_count_replica此副本的執行緒在等待基於掃描的訊號時 (例如等待掃描的更多結果,或等待掃描關閉時) 被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如果此 MySQL 伺服器不作為複本運作,或不使用 NDB 資料表,則此值永遠為 0。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
Ndb_api_wait_scan_result_count_slave已棄用的
Ndb_api_wait_scan_result_count_replica同義詞。Ndb_api_wait_scan_result_count此 MySQL 伺服器 (SQL 節點) 的執行緒在等待基於掃描的訊號時 (例如等待掃描的更多結果,或等待掃描關閉時) 被封鎖的次數。
雖然可以使用
SHOW GLOBAL STATUS或SHOW SESSION STATUS讀取此變數,但它實際上是全域範圍。如需更多資訊,請參閱 第 25.6.16 節「NDB API 統計計數器與變數」。
如果伺服器作為 NDB Cluster 節點運作,則此變數的值是其在叢集中的節點 ID。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
如果伺服器是 NDB Cluster 的一部分,此變數的值是叢集管理伺服器的主機名稱或 IP 位址,該伺服器會從中取得其組態資料。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為空字串。
如果伺服器是 NDB Cluster 的一部分,此變數的值是其連線至叢集管理伺服器的連接埠號碼,該伺服器會從中取得其組態資料。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
顯示叢集目前組態的產生編號。這可用作指示器,判斷自此 SQL 節點上次連線到叢集以來,叢集的組態是否已變更。
此變數用於 NDB Cluster 複寫衝突解決,顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH()衝突解決方式發現衝突的列數。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
此變數用於 NDB Cluster 複寫衝突解決,顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH_TRANS()衝突解決方式發現衝突的列數。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
顯示自上次重新啟動以來,在指定為主要來源時,使用
NDB$EPOCH2()時在 NDB Cluster 複寫衝突解決中發現衝突的列數。如需更多資訊,請參閱NDB$EPOCH2()。
此變數用於 NDB Cluster 複寫衝突解決,顯示自上次重新啟動以來,在給定的 mysqld 上使用
NDB$EPOCH_TRANS2()衝突解決方式發現衝突的列數。如需更多資訊,請參閱NDB$EPOCH2_TRANS()。
此變數用於 NDB Cluster 複寫衝突解決,顯示由於 「最大時間戳記優先」 衝突解決方式,自上次啟動此 mysqld 以來,目前 SQL 節點上未套用列的次數。
更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
顯示自上次啟動此 mysqld 以來,由於使用
NDB$MAX_DELETE_WIN()的 NDB Cluster 複寫衝突解決方式,目前 SQL 節點上拒絕列的次數。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_fn_max_del_win_ins顯示自上次啟動此 mysqld 以來,由於使用
NDB$MAX_DEL_WIN_INS()的 NDB Cluster 複寫衝突解決方式,目前 SQL 節點上拒絕插入列的次數。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
此變數用於 NDB Cluster 複寫衝突解決,顯示由於 「最大時間戳記優先」 衝突解決方式,自上次啟動此 mysqld 以來,目前 SQL 節點上未插入列的次數。
更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
此變數用於 NDB Cluster 複寫衝突解決,顯示由於 「相同時間戳記優先」 衝突解決方式,自上次重新啟動以來,在給定的 mysqld 上未套用列的次數。
更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_last_conflict_epoch此副本上偵測到衝突的最近 epoch。您可以將此值與
Ndb_replica_max_replicated_epoch比較;如果Ndb_replica_max_replicated_epoch大於Ndb_conflict_last_conflict_epoch,則尚未偵測到任何衝突。如需更多資訊,請參閱第 25.7.12 節「NDB Cluster 複寫衝突解決」。
Ndb_conflict_reflected_op_discard_count使用 NDB Cluster 複寫衝突解決時,這是由於執行期間遇到錯誤而未在次要節點上套用的反映作業數。
如需更多資訊,請參閱第 25.7.12 節「NDB Cluster 複寫衝突解決」。
Ndb_conflict_reflected_op_prepare_count使用 NDB Cluster 複寫的衝突解決時,此狀態變數包含已定義 (亦即,準備在次要節點上執行) 的反映作業數。
使用 NDB Cluster 複寫的衝突解決時,這會提供準備在次要節點上執行的重新整理作業數。
如需更多資訊,請參閱第 25.7.12 節「NDB Cluster 複寫衝突解決」。
Ndb_conflict_last_stable_epoch交易衝突函式發現的衝突列數
如需更多資訊,請參閱第 25.7.12 節「NDB Cluster 複寫衝突解決」。
Ndb_conflict_trans_row_conflict_count此狀態變數用於 NDB Cluster 複寫衝突解決,顯示自上次重新啟動以來,給定的 mysqld 上,事務性衝突函數發現直接衝突的列數。
目前,NDB Cluster 支援的唯一事務性衝突檢測函數是 NDB$EPOCH_TRANS(),因此此狀態變數實際上與
Ndb_conflict_fn_epoch_trans相同。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_trans_row_reject_count此狀態變數用於 NDB Cluster 複寫衝突解決,顯示因事務性衝突檢測函數判定為衝突而重新對齊的總列數。這不僅包含
Ndb_conflict_trans_row_conflict_count,還包含衝突事務中的任何列或依賴於衝突事務的列。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_trans_reject_count此狀態變數用於 NDB Cluster 複寫衝突解決,顯示事務性衝突檢測函數發現衝突的事務數量。
更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_trans_detect_iter_count此變數用於 NDB Cluster 複寫衝突解決,顯示提交 epoch 事務所需的內部迭代次數。應(略微)大於或等於
Ndb_conflict_trans_conflict_commit_count。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
Ndb_conflict_trans_conflict_commit_count此變數用於 NDB Cluster 複寫衝突解決,顯示在需要進行事務性衝突處理後提交的 epoch 事務數量。
更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
當使用刪除-刪除衝突檢測時,這是檢測到的刪除-刪除衝突的數量,其中套用了刪除操作,但指示的列不存在。
提供操作對
NDB核心進行往返的次數。NDB最近提交的 epoch。此
NDB客戶端最近提交的 epoch。自上次啟動此伺服器以來,NDB 元資料變更偵測執行緒發現與 MySQL 資料字典相關變更的次數。
自上次重新啟動以來,NDB 二進制日誌執行緒無法在此 SQL 節點上同步的元資料物件數量。
如果物件被排除,在使用者手動更正不符之前,不會再次考慮自動同步。這可以透過嘗試使用諸如
SHOW CREATE TABLE、tableSELECT * FROM或任何其他會觸發表格探索的陳述式來完成。table自上次重新啟動以來,在此 SQL 節點上已同步的 NDB 元資料物件數量。
如果伺服器是 NDB Cluster 的一部分,則此變數的值是叢集中資料節點的數量。
如果伺服器不是 NDB Cluster 的一部分,則此變數的值為 0。
向下推送至 NDB 核心以在資料節點上進行分散式處理的聯結總數。
注意使用
EXPLAIN測試的可向下推送的聯結會計入此數字。向下推送至 NDB 核心但無法在那裡處理的聯結數量。
成功向下推送至
NDB並在那裡執行的聯結數量。從向下推送的聯結,由 NDB 核心返回給 mysqld 的列數。
此變數保存自上次啟動 NDB Cluster 以來,
NDBCLUSTER執行掃描的次數計數,其中NDBCLUSTER能夠使用分割區修剪。將此變數與
Ndb_scan_count一起使用,有助於架構設計,以最大化伺服器將掃描修剪到單個表格分割區的能力,從而只涉及單個資料節點的複本。Ndb_replica_max_replicated_epoch此複本上最近提交的 epoch。您可以將此值與
Ndb_conflict_last_conflict_epoch比較;如果Ndb_replica_max_replicated_epoch是兩者中較大的值,則尚未偵測到衝突。更多資訊,請參閱第 25.7.12 節,「NDB Cluster 複製衝突解決方案」。
此變數保存自上次啟動 NDB Cluster 以來,
NDBCLUSTER執行掃描的總次數計數。Ndb_slave_max_replicated_epochNdb_replica_max_replicated_epoch的已棄用同義詞。如果此 MySQL Server 連接到 NDB 叢集,則此唯讀變數會顯示叢集系統名稱。否則,該值為空字串。
目前會話中已開始使用提示的事務數量。與
Ndb_api_trans_start_count_session比較,以取得能夠使用提示的所有 NDB 事務的比例。