ホームページ  >  記事  >  データベース  >  ストアド プロシージャおよびストアド関数内で発生する操作を複製するにはどうすればよいですか?

ストアド プロシージャおよびストアド関数内で発生する操作を複製するにはどうすればよいですか?

PHPz
PHPz転載
2023-09-07 11:57:021448ブラウズ

ストアド プロシージャおよびストアド関数内で発生する操作を複製するにはどうすればよいですか?

実際、ストアド プロシージャやストアド関数で実行される標準操作は、マスター MySQL サーバーからスレーブ MySQL サーバーに複製されます。マスター MySQL サーバー上の通常の DDL ステートメントを通じて実行されるストアド プロシージャや関数の作成も、スレーブ MySQL サーバーにレプリケートされます。このようにして、オブジェクトは両方のサーバーに同時に存在します。

MySQL はストアド プロシージャおよびストアド ファンクション内で発生するすべての DDL イベントをログに記録するため、ストアド プロシージャおよびストアド ファンクション内で発生する操作はレプリケートされます。イベントがログに記録されると、スレーブ MySQL サーバーにレプリケートされます。ただし、ストアド プロシージャを実行する実際の呼び出しはコピーされません。以下は、プロシージャ CALL が実際にはメイン MySQL サーバー上にあるプロシージャであるため複製されない例です。

mysql> Delimiter //
mysql> CREATE PROCEDURE myproc()
    -> BEGIN
    -> DELETE FROM mytable LIMIT 1;
    -> END //

メインの MySQL サーバーでこのプロシージャを呼び出すと、レプリケートされません。

えええええ

以上がストアド プロシージャおよびストアド関数内で発生する操作を複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。