✅ 有效。主庫執行的預存程序/函數內部標準 DML 操作會被復制到從庫。
✅ 會。CREATE/ALTER/DROP PROCEDURE/FUNCTION DDL 語句會被復制,從庫擁有相同物件定義。
🔑 行級事件復制:MySQL 記錄程式內部發生的每個 DML 事件 (行變更),將這些單獨 DML 語句復制到從庫。CALL 呼叫本身不被復制。
| 策略 | 配置 | 適用場景 |
|---|---|---|
| 強制 SUPER 權限 | 建立程式的用戶需 SUPER 權限 | 高安全、少數受信開發 |
| 信任常規建立者 | SET GLOBAL log_bin_trust_routine_creators = 1;允許 CREATE ROUTINE 權限者建立 | 開放團隊、簡化管理 |
前提:啟用 Binlog (復制或 PITR)。
RAND()、UUID()、NOW()、SYSDATE() 在主從產生不同值DETERMINISTIC 僅影響是否允許建立,不保證復制一致性IF HOUR(NOW()) > 18 THEN ... 等時間判斷INSERT/UPDATE 發生錯誤IGNORE 執行,主庫錯誤被忽略,不復制錯誤更新AUTO_INCREMENT 衝突auto_increment_offset/auto_increment_increment 錯開 ID 空間pt-table-checksum) 針對高頻程式操作表Seconds_Behind_Master、Slave_SQL_Running_State 異常告警