首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Cluster 完整配置文件 config.ini 詳細中文註釋版

     編輯:MySQL 綜合教學

配置文件結構總覽

###########################################################################
## MySQL Cluster 配置文件 config.ini
## [!] 參數有詳細說明,建議參考官方文檔
## [!!] 參數設置需詳細閱讀官方描述
## 官方文檔: https://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html
###########################################################################

1. TCP/IP 連接默認配置

[TCP DEFAULT]
SendBufferMemory=256k      # [!] TCP 發送緩存,默認 256KB
#SendSignalId=0            # [!] 消息 ID 傳輸,默認關閉
#Checksum=0                # [!] 校驗和計算,默認關閉
ReceiveBufferMemory=64k    # 接收緩存,默認 64KB,極少需修改

2. 管理節點 (NDB_MGMD) 配置

[NDB_MGMD DEFAULT]
[NDB_MGMD]
id=1                       # 節點唯一 ID (1-63)
HostName=192.168.1.100     # 管理節點 IP/主機名
#ExecuteOnComputer=        # 引用 [COMPUTER] 定義
PortNumber=2202            # 監聽端口,默認 2202

LogDestination=FILE:filename=/var/log/mgmd.log  # 日誌輸出:文件/控制台/SYSLOG

ArbitrationRank=1          # 仲裁優先級:1=高,0=不參與,2=低(建議 MGM=1,SQL=0)
ArbitrationDelay=0         # 仲裁延遲(ms),默認 0
DataDir=/var/lib/mysql-cluster  # 數據/日誌/PID 文件目錄

3. 數據節點默認配置 (NDBD DEFAULT)

[NDBD DEFAULT]
NoOfReplicas=1             # 副本數/節點組大小,無默認值,最大 4,必須設置

4. 數據節點 (NDBD) 具體配置

[NDBD]
id=11                      # 數據節點 ID
HostName=192.168.1.101     # 數據節點 IP
#ExecuteOnComputer=
DataDir=/var/lib/mysql-cluster
#FileSystemPath=           # 元數據/REDO/UNDO/數據文件目錄(需預先存在)
#BackupDataDir=            # 備份目錄,默認 {FileSystemPath}/BACKUP

DataMemory=80M             # 數據內存,默認 80MB,最小 1MB
IndexMemory=18M            # 索引內存,默認 18MB,最小 1MB

#MaxNoOfConcurrentTransactions=4096      # [!] 並發事務數,全節點必須一致
#MaxNoOfConcurrentOperations=32768       # [!] 並發操作/鎖記錄數
#MaxNoOfLocalOperations=                 # [!] 本地操作數,默認 1.1x ConcurrentOperations
#MaxNoOfConcurrentIndexOperations=8192   # [!] 並發索引操作
#MaxNoOfFiredTriggers=4000               # [!] 觸發器並發數
#TransactionBufferMemory=1M              # [!] 事務緩存
#MaxNoOfConcurrentScans=256              # [!] 並發掃描數,最大 500
#MaxNoOfLocalScans=                      # [!] 本地掃描記錄數
#BatchSizePerLocalScan=                  # [!] 掃描批次大小
#LongMessageBuffer=1M                    # [!] 內部消息緩存
#NoOfFragmentLogFiles=8                  # [!] REDO 日誌文件數
#MaxNoOfSavedMessages=25                 # [!] 追蹤文件最大數
#MaxNoOfAttributes=1000                  # [!] 最大屬性數,最小 32
#MaxNoOfTables=128                       # [!] 最大表數,範圍 8-1600
#MaxNoOfOrderedIndexes=128               # [!] 最大有序索引數
#MaxNoOfUniqueHashIndexes=64             # [!] 最大唯一哈希索引數
#MaxNoOfTriggers=768                     # [!] 最大觸發器數

#LockPagesInMainMemory=0                 # 鎖定內存頁面,避免交換,默認關閉
#StopOnError=1                           # 錯誤時退出還是重啟,默認啟用
#Diskless=0                               # 無磁盤模式,默認關閉
#RestartOnErrorInsert=0                  # 僅調試版可用

#TimeBetweenWatchDogCheck=4000           # [!] 看門狗檢查間隔(ms)
#StartPartialTimeout=30000               # [!] 等待所有數據節點超時(ms),0=無限
#StartPartitionedTimeout=60000           # [!] 就緒但可能隔離時等待(ms)
#StartFailureTimeout=60000               # [!] 數據節點啟動序列超時(ms),0=無超時
#HeartbeatIntervalDbDb=1500              # [!] 數據節點間心跳間隔(ms)
#HeartbeatIntervalDbApi=1500             # [!] 數據節點-API節點心跳(ms)
#TimeBetweenLocalCheckpoints=20         # [!] 本地檢查點間隔
#TimeBetweenGlobalCheckpoints=2000      # [!] 全局檢查點間隔(ms)
#TimeBetweenInactiveTransactionAbortCheck=1000  # [!] 非活動事務檢查間隔(ms)
#TransactionInactiveTimeout=0            # [!] 事務非活動超時(ms)
#TransactionDeadlockDetectionTimeout=1200 # [!] 死鎖檢測超時(ms)
#NoOfDiskPagesToDiskAfterRestartTUP=40  # [!] 重啟後數據頁寫入速度(3.2MB/s)
#NoOfDiskPagesToDiskAfterRestartACC=20  # [!] 重啟後索引頁寫入速度(1.6MB/s)
#NoOfDiskPagesToDiskDuringRestartTUP=40 # [!] 重啟期間數據頁寫入速度
#NoOfDiskPagesToDiskDuringRestartACC=20 # [!] 重啟期間索引頁寫入速度
#ArbitrationTimeout=1000                # [!] 仲裁超時(ms)
#UndoIndexBuffer=2M                     # [!] UNDO 索引緩存,最小 1MB
#UndoDataBuffer=16M                     # [!] UNDO 數據緩存,最小 1MB
#RedoBuffer=8M                          # [!] REDO 緩存,最小 1MB

# 日誌級別 (默認級別括號內)
#LogLevelStartup=1      # 啟動
#LogLevelShutdown=0     # 關閉
#LogLevelStatistic=0    # 統計
#LogLevelCheckpoint=0   # 檢查點
#LogLevelNodeRestart=0   # 節點重啟
#LogLevelConnection=0   # 連接
#LogLevelError=0        # 錯誤警告
#LogLevelInfo=0         # 一般信息

#BackupDataBufferSize=2M    # [!] 備份數據緩存
#BackupLogBufferSize=2M     # [!] 備份日誌緩存
#BackupMemory=4M            # 總備份緩存 = Data + Log
#BackupWriteSize=32k        # 備份寫入塊大小

5. SQL 節點 (MYSQLD) 配置

[MYSQLD DEFAULT]
[MYSQLD]
id=21                      # SQL 節點 ID
HostName=192.168.1.102     # SQL 節點 IP
#ExecuteOnComputer=
ArbitrationRank=0          # SQL 節點不參與仲裁
ArbitrationDelay=0
#BatchByteSize=32k         # [!!] 批次字節數,默認 32KB
#BatchSize=64              # [!!] 批次記錄數,默認 64,最大 992
#MaxScanBatchSize=256k     # [!] 掃描批次大小,默認 256KB,最大 16MB

關鍵配置提醒

  • NoOfReplicas 為必填項,決定高可用架構
  • DataMemory/IndexMemory 需根據實際數據量規劃,總和勿超過物理內存 70-80%
  • ArbitrationRank:管理節點設 1,SQL 節點設 0,確保單一仲裁者
  • 所有節點 MaxNoOfConcurrentTransactions 必須一致
  • 生產環境建議啟用 LockPagesInMainMemory=1 防止 swap
  • 詳細參數說明請參考 MySQL 官方文檔
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved