MySQL 如何复制存储过程和函数内部的操作

MySQL 如何复制存储过程和函数内部的操作

实际上,存储过程和函数中执行的标准操作从主 MySQL 服务器复制到从 MySQL 服务器。甚至在主 MySQL 服务器上通过普通 DDL 语句创建的存储过程和函数也会被复制到从 MySQL 服务器上。这样,在两个服务器上都将存在这些对象。

存储过程和函数内部执行的操作会被复制,因为 MySQL 记录了存储过程和函数内部发生的每个 DDL 事件。记录完事件后,它会被复制到从 MySQL 服务器。但实际上用于执行存储过程的调用不会被复制。以下是一个示例,其中过程调用不会被复制,因为它实际上是在主 MySQL 服务器上执行的。

阅读更多:MySQL 教程

示例

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

现在,当我们在主 MySQL 服务器上调用此存储过程时,它不会被复制。

mysql> Delimiter ;
mysql> CALL myproc();

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程