首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL主从复制-故障排除

MySQL主从复制-故障排除
EN

Database Administration用户
提问于 2020-06-11 15:45:07
回答 3查看 137关注 0票数 1

为什么在主表上创建的过程/函数即使在启用了使用“replicate table”的表过滤器之后也会被复制为从属程序。这在生产设置中造成了许多问题,因为它用主服务器中修改的函数重写了从服务器中的函数。我需要在主和从中有两个不同的函数,只需要复制表数据。请解决这个问题

如何重复:在母版中创建表

使用复制做表选项将表复制到从表。

在主服务器上创建一个函数

它以相同的名称重写了奴隶中已经存在的函数。

EN

回答 3

Database Administration用户

发布于 2020-06-11 16:07:06

因为在MySQL中,所有的输入和过程都存储在mysql系统数据库中,而不是存储在定义它们的数据库中。因此,除非您将mysql数据库排除在复制之外,否则您定义的函数和过程将在下游复制。

票数 0
EN

Database Administration用户

发布于 2020-06-11 16:35:49

建议

如果不希望存储过程复制到“从”中,请在母版上运行以下命令:

代码语言:javascript
运行
复制
SET sql_log_bin = 0;
DROP PROCEDURE ...
CREATE PROCEDURE ...
SET sql_log_bin = 1;

这将创建存储过程--主程序,但不将其记录在主的二进制日志中。由于过程创建不在二进制日志中,所以没有什么可复制的。

试试看!

票数 0
EN

Database Administration用户

发布于 2020-06-11 18:12:26

如果可以将其转换为TRIGGER,那么您也许可以利用默认情况下不会复制的触发器。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/268967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档