儲存過程和函式中發生的事件如何被複制?
實際上,在儲存過程和函式中執行的標準動作會從主MySQL伺服器複製到從MySQL伺服器。即使透過主MySQL伺服器上的正常DDL語句進行建立儲存過程和函式,也會將其複製到從MySQL伺服器。透過這種方式,物件將存在於兩個伺服器上。
儲存過程和函式中執行的操作被複制,因為MySQL會記錄儲存過程和函式中發生的每個DDL事件。在記錄事件後,將其複製到從MySQL伺服器。但是,對儲存過程的實際呼叫不會被複制。以下是一個示例,在該示例中,過程CALL不會被複制,因為它實際上是主MySQL伺服器上的一個。
示例
mysql> Delimiter // mysql> CREATE PROCEDURE myproc() -> BEGIN -> DELETE FROM mytable LIMIT 1; -> END //
現在當我們在主MySQL伺服器上呼叫此過程時,它不會被複制。
mysql> Delimiter ; mysql> CALL myproc();
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP