本文結合Linux核心參數調優解析與Windows環境雙實例主從複寫實戰,提供跨平台MySQL運維的雙重視角。前半部深度剖析10大關鍵參數原理與調優策略,後半部演示Windows下雙MySQL實例構建主從同步的完整配置流程。
關鍵參數速查表:
| 參數 | 預設 | 建議生產值 | 核心影響 |
|---|---|---|---|
| back_log | 50 | 500 | 連接風暴緩衝 |
| key_buffer_size | 8MB | RAM 25-30% | MyISAM索引緩存 |
| max_connections | 100 | 1024+ | 並發上限 |
| read_buffer_size | 128KB | 16MB | 全掃描緩衝 |
| sort_buffer_size | 2MB | 16MB | 排序緩衝 |
| table_open_cache | 64 | 512-2048 | 表快取 |
| thread_cache_size | 0 | 80-200 | 線程複用 |
| wait_timeout | 28800 | 7200 | 閒置斷連 |
| innodb_buffer_pool_size | 128MB | RAM 60-80% | InnoDB核心緩存 |
調優原則:監控導向 → 單一變量 → 硬體適配 → 業務適配。
port=3307、datadir=E:/MySQL5.1/Data/port=3308、datadir=E:/MySQL5.2/Data/cnb分別安裝至E:/MySQL5.1/、E:/MySQL5.2/,修改各自my.ini端口與路徑。
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'localhost' IDENTIFIED BY '123456';
FLUSH PRIVILEGES;
[mysqld]
# Master start
log-bin=E:\MySQL5.1\Data\log-bin.log
binlog-do-db=cnb
server-id=1
# Master end
[mysqld]
server-id=2
master-host=127.0.0.1
master-user=slave
master-password=123456
master-port=3307
master-connect-retry=10
replicate-do-db=cnb
FLUSH TABLES WITH READ LOCK;SHOW MASTER STATUS的File/PositionData目錄至SlaveUNLOCK TABLES;-- Master
SHOW MASTER STATUS;
SHOW SLAVE HOSTS;
-- Slave
SHOW SLAVE STATUS\G
-- 關鍵:Slave_IO_Running=Yes, Slave_SQL_Running=Yes, Seconds_Behind_Master=0
\需轉義或用/mysqld51/mysqld52,sc create註冊chkconfig,用services.msc或net start管理lower_case_table_names=1預設)Windows主從僅適用開發/測試/輕量內部系統。生產環境強烈建議:
rpl_semi_sync_master=ON)保證零數據丟失跨平台運維能力是DBA核心競爭力,但架構選型必須以業務SLA為最高準則。