mysqlbinlog --read-from-remote-server --raw --stop-never \ --host=192.168.244.145 --port=3306 --user=repl --password=repl \ mysql-bin.000001
原理:模擬 Slave,走 Replication API 實時獲取事件,延遲 0.5-1s。
--raw:二進制存儲,每 4K 刷盤--stop-never:持續跟隨,不退出--result-file=/backup/prefix-:本地文件前綴--stop-never-slave-server-id:指定偽裝 server-idShell 死循環腳本:檢測進程退出 → 睡 10s → 從本地最新 Binlog 續傳 → 記錄日誌。
while :; do LAST_FILE=$(ls -t $DIR | head -1) mysqlbinlog --raw --read-from-remote-server --stop-never ... $LAST_FILE echo "$(date) exited, code $?" >> log sleep 10 done
--raw 時內存緩衝 4K 刷盤,斷連即時落盤--raw 時文本模式須指定具體文件名,實時落盤