Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql replicate_wild_do_表和replicate_do_表有什么区别?_Mysql - Fatal编程技术网

Mysql replicate_wild_do_表和replicate_do_表有什么区别?

Mysql replicate_wild_do_表和replicate_do_表有什么区别?,mysql,Mysql,有谁能告诉我在创建从机时,replicate_wild_do_表和replicate_do_表的确切区别吗 感谢replicate-wild-do-table允许您使用%和通配符将复制语句限制在数据库和表中,即执行模式匹配 其中,replicate do table使用具体的数据库和表名 这里有一个手册参考: 更新: 似乎您在设置中使用USE语句或完全限定表名(指定了数据库名的表名)时遇到了问题。首先,有两种类型的二进制日志记录: 基于语句的 基于行的 简而言之,基于语句的复制会记录每个可以

有谁能告诉我在创建从机时,replicate_wild_do_表和replicate_do_表的确切区别吗


感谢

replicate-wild-do-table
允许您使用
%
通配符将复制语句限制在数据库和表中,即执行模式匹配

其中,
replicate do table
使用具体的数据库和表名

这里有一个手册参考:

更新:

似乎您在设置中使用
USE
语句或完全限定表名(指定了数据库名的表名)时遇到了问题。首先,有两种类型的二进制日志记录:

  • 基于语句的
  • 基于行的
简而言之,基于语句的复制会记录每个可以修改数据的语句,而基于行的复制会记录修改的行

这里有一个手册参考:

以下是手册中的比较:

这两种类型意味着复制选项的不同行为。这里的关键一点是,对于基于语句的复制,MySQL只复制默认情况下(通过
使用
选择)数据库执行的语句


所以问题是:您需要跨数据库更新吗?如果是这样,就不能使用
replicate do db
,因为它限制了数据库级别的复制。在跨数据库更新方面,
replicate-wild-do-table
replicate-do-table

之间没有区别,我认为在执行之前使用了use-database命令的语句和没有使用use-database命令的语句之间存在一些区别。好的。你应该在你的问题中提到这一点。我将用一些细节更新我的答案