CREATE/ALTER/DROP PROCEDURE|FUNCTION 同步到從庫。因從庫線程擁有執行 Binlog 任意語句的權限,MySQL 強制兩種安全模式二選一:
GRANT SUPER ON *.* TO 'dev'@'%';SET GLOBAL log_bin_trust_routine_creators = 1;(或配置文件 log_bin_trust_routine_creators=1),允許僅有 CREATE ROUTINE 權限的用戶創建。生產環境建議方案一,嚴格控制 SUPER 權限分配。
UUID()、RAND()、NOW()、SYSDATE()、FOUND_ROWS() 等每次調用結果不同。DETERMINISTIC 或設置 log_bin_trust_routine_creators=0 只會阻止創建,無法改變運行時行為。NOW() 判斷業務邏輯,重放時時間已變 → 邏輯分支不一致。INSERT 中途報錯(如唯一鍵衝突),已執行行提交,未執行行回滾。IGNORE 則跳過錯誤行繼續執行 → 主從行數不一致。IGNORE 執行,錯誤不中斷復制但可能導致數據差異。NOW()。SUPER、CREATE ROUTINE 權限,審計所有對象變更。pt-table-checksum、pt-heartbeat)。