本節提供有關 MGM API 定義的資料結構資訊。
- 說明
此結構模擬叢集日誌事件,並用於儲存和擷取日誌事件資訊。
定義。 ndb_logevent 有 8 個成員,前 7 個顯示在以下列表中
void*:由handlendb_logevent_get_next()設定的NdbLogEventHandle。此句柄僅用於比較目的。type:告知此事件的類型(Ndb_logevent_type)。unsigned:向管理伺服器註冊日誌事件的時間。timecategory:日誌事件類別(ndb_mgm_event_category)。severity:日誌事件嚴重性(ndb_mgm_event_severity)。unsigned:日誌事件層級。此值介於 0 到 15 之間(含 0 和 15)。levelunsigned:報告此事件的節點的節點 ID。source_nodeid
此結構的第 8 個成員包含特定於日誌事件的資料,並取決於其類型。它被定義為多個資料結構的聯集,每個資料結構對應一個日誌事件類型。要使用的結構由 type 的值決定,如下表所示
表 3.7 Type Ndb_logevent_type 值和使用的結構
Ndb_logevent_type 值 |
結構 |
|---|---|
NDB_LE_Connected |
Connected:
|
NDB_LE_Disconnected |
Disconnected:
|
NDB_LE_CommunicationClosed |
CommunicationClosed:
|
NDB_LE_CommunicationOpened |
CommunicationOpened:
|
NDB_LE_ConnectedApiVersion |
ConnectedApiVersion:
|
NDB_LE_GlobalCheckpointStarted |
GlobalCheckpointStarted:
|
NDB_LE_GlobalCheckpointCompleted |
GlobalCheckpointCompleted:
|
NDB_LE_LocalCheckpointStarted |
LocalCheckpointStarted:
|
NDB_LE_LocalCheckpointCompleted |
LocalCheckpointCompleted:
|
NDB_LE_LCPStoppedInCalcKeepGci |
LCPStoppedInCalcKeepGci:
|
NDB_LE_LCPFragmentCompleted |
LCPFragmentCompleted:
|
NDB_LE_UndoLogBlocked |
UndoLogBlocked:
|
NDB_LE_NDBStartStarted |
NDBStartStarted:
|
NDB_LE_NDBStartCompleted |
NDBStartCompleted:
|
NDB_LE_STTORRYRecieved |
STTORRYRecieved:
|
NDB_LE_StartPhaseCompleted |
StartPhaseCompleted:
|
NDB_LE_CM_REGCONF |
CM_REGCONF:
|
NDB_LE_CM_REGREF |
CM_REGREF:
|
NDB_LE_FIND_NEIGHBOURS |
FIND_NEIGHBOURS:
|
NDB_LE_NDBStopStarted |
NDBStopStarted:
|
NDB_LE_NDBStopCompleted |
NDBStopCompleted:
|
NDB_LE_NDBStopForced |
NDBStopForced:
|
NDB_LE_NDBStopAborted |
NDBStopAborted:
|
NDB_LE_StartREDOLog |
StartREDOLog:
|
NDB_LE_StartLog |
StartLog:
|
NDB_LE_UNDORecordsExecuted |
UNDORecordsExecuted:
|
NDB_LE_NR_CopyDict |
NR_CopyDict:
|
NDB_LE_NR_CopyDistr |
NR_CopyDistr:
|
NDB_LE_NR_CopyFragsStarted |
NR_CopyFragsStarted:
|
NDB_LE_NR_CopyFragDone |
NR_CopyFragDone:
|
NDB_LE_NR_CopyFragsCompleted |
NR_CopyFragsCompleted:
|
NDB_LE_NodeFailCompleted |
NodeFailCompleted:(對於 block 和 completing_node,0 會被解釋為「全部」。) |
NDB_LE_NODE_FAILREP |
NODE_FAILREP:
|
NDB_LE_ArbitState |
ArbitState:
|
NDB_LE_ArbitResult |
ArbitResult:
|
NDB_LE_GCP_TakeoverStarted |
GCP_TakeoverStarted:
|
NDB_LE_GCP_TakeoverCompleted |
GCP_TakeoverCompleted:
|
NDB_LE_LCP_TakeoverStarted |
LCP_TakeoverStarted:
|
NDB_LE_TransReportCounters |
TransReportCounters:
|
NDB_LE_OperationReportCounters |
OperationReportCounters:
|
NDB_LE_TableCreated |
TableCreated:
|
NDB_LE_JobStatistic |
JobStatistic:
|
NDB_LE_SendBytesStatistic |
SendBytesStatistic:
|
NDB_LE_ReceiveBytesStatistic |
ReceiveBytesStatistic:
|
NDB_LE_MemoryUsage |
MemoryUsage:
|
NDB_LE_TransporterError |
TransporterError:
|
NDB_LE_TransporterWarning |
TransporterWarning:
|
NDB_LE_MissedHeartbeat |
MissedHeartbeat:
|
NDB_LE_DeadDueToHeartbeat |
DeadDueToHeartbeat:
|
NDB_LE_WarningEvent |
WarningEvent:
|
NDB_LE_SentHeartbeat |
SentHeartbeat:
|
NDB_LE_CreateLogBytes |
CreateLogBytes:
|
NDB_LE_InfoEvent |
InfoEvent:
|
NDB_LE_EventBufferStatus(NDB 7.5 之前) |
EventBufferStatus:
|
NDB_LE_EventBufferStatus2 (NDB 7.5) |
EventBufferStatus2:
report_reason 是 NO_REPORT、COMPLETELY_BUFFERING、PARTIALLY_DISCARDING、COMPLETELY_DISCARDING、PARTIALLY_BUFFERING、BUFFERED_EPOCHS_OVER_THRESHOLD、ENOUGH_FREE_EVENTBUFFER 或 LOW_FREE_EVENTBUFFER 其中之一;有關這些值的描述,請參閱叢集日誌中的事件緩衝區報告。 |
NDB_LE_BackupStarted |
BackupStarted:
|
NDB_LE_BackupFailedToStart |
BackupFailedToStart:
|
NDB_LE_BackupCompleted |
BackupCompleted:
|
NDB_LE_BackupAborted |
BackupAborted:
|
NDB_LE_SingleUser |
SingleUser:
|
NDB_LE_StartReport |
StartReport:
|
- 說明
提供有關叢集節點狀態的資訊。
定義。 此結構包含下列成員
int:叢集節點的節點 ID。node_id-
enum ndb_mgm_node_type:節點類型。node_type如需允許的值,請參閱ndb_mgm_node_type 類型。
-
enum ndb_mgm_node_status:節點的狀態。node_status如需允許的值,請參閱ndb_mgm_node_status 類型。
-
int:啟動階段。start_phase只有當
node_type為NDB_MGM_NODE_TYPE_NDB且node_status為NDB_MGM_NODE_STATUS_STARTING時才有效。 -
int:用於心跳和主機接管的 ID。dynamic_id僅適用於資料 (ndbd) 節點。
-
int:節點所屬的節點群組。node_group僅適用於資料 (ndbd) 節點。
int:內部版本號碼。versionint:此節點連線或中斷連線至管理伺服器的次數。connect_countchar:叢集中其他節點看到的此節點 IP 位址。connect_address[]int:MySQL 版本號碼,表示為整數(例如:mysql_version80200)。僅適用於 SQL 節點。int:當叢集處於單一使用者模式時,具有獨佔存取權的 API 或 SQL 節點的節點 ID。否則不適用。在 NDB 8.0 中新增。is_single_user
- 說明
提供有關叢集節點狀態的資訊。
定義。 此結構包含下列成員
int:叢集節點的節點 ID。node_id-
enum ndb_mgm_node_type:節點類型。node_type如需允許的值,請參閱ndb_mgm_node_type 類型。
-
enum ndb_mgm_node_status:節點的狀態。node_status如需允許的值,請參閱ndb_mgm_node_status 類型。
-
int:啟動階段。start_phase只有當
node_type為NDB_MGM_NODE_TYPE_NDB且node_status為NDB_MGM_NODE_STATUS_STARTING時才有效。 -
int:用於心跳和主機接管的 ID。dynamic_id僅適用於資料 (ndbd) 節點。
-
int:節點所屬的節點群組。node_group僅適用於資料 (ndbd) 節點。
int:內部版本號碼。versionint:此節點連線或中斷連線至管理伺服器的次數。connect_countint:MySQL 版本號碼,表示為整數(例如:mysql_version80200)。僅適用於 SQL 節點。int:當叢集處於單一使用者模式時,具有獨佔存取權的 API 或 SQL 節點的節點 ID。否則不適用。is_single_userchar:叢集中其他節點看到的此節點 IP 位址。connect_address[]
- 說明
提供有關所有叢集節點狀態的資訊。此結構由
ndb_mgm_get_status()傳回。
定義。 此結構具有以下兩個成員
int:no_of_nodesnode_states陣列中的元素數。-
struct ndb_mgm_node_state:一個包含節點狀態的陣列。node_states[]此陣列的每個元素都是一個
ndb_mgm_node_state結構。
請參閱 ndb_mgm_get_status()。
- 說明
提供有關所有叢集節點狀態的資訊。此結構由
ndb_mgm_get_status3()返回,並在 NDB 8.0 中新增。
定義。 此結構具有以下兩個成員
int:no_of_nodesnode_states陣列中的元素數。-
struct ndb_mgm_node_state2:一個包含節點狀態的陣列。node_states[]此陣列的每個元素都是一個
ndb_mgm_node_state2結構。
- 說明
包含來自管理伺服器的回應資訊,由回應代碼和對應的訊息組成。
定義。 此結構包含兩個成員,如下所示
-
int:對於成功操作,此值為return_code0;否則,它包含一個錯誤代碼。有關錯誤代碼,請參閱 ndb_mgm_error 型別。
char:包含回應或錯誤訊息的文字。message[256]
請參閱 ndb_mgm_get_latest_error() 和 ndb_mgm_get_latest_error_msg()。