在评估复制选项时,副本首先检查是否有
        适用--replicate-do-db的
        --replicate-ignore-db选项。使用
        --binlog-do-dbor
        --binlog-ignore-db时,过程类似,但会在源上检查选项。
      
        检查匹配的数据库取决于正在处理的语句的二进制日志格式。如果该语句已使用行格式记录,则要更改数据的数据库是检查的数据库。如果语句已使用语句格式记录,则默认数据库(用
        USE语句指定)是被检查的数据库。
          只能使用行格式记录 DML 语句。DDL 语句始终记录为语句,即使在
          binlog_format=ROW. 因此,所有 DDL 语句始终根据基于语句的复制规则进行过滤。这意味着您必须使用
          USE语句显式选择默认数据库,以便应用 DDL 语句。
对于复制,此处列出了所涉及的步骤:
- 使用哪种日志记录格式? - 陈述。 测试默认数据库。 
- 排。 测试受更改影响的数据库。 
 
- 有什么 - --replicate-do-db选择吗?- 是的。 数据库是否匹配其中任何一个? - 是的。 继续第 4 步。 
- 否。 忽略更新并退出。 
 
- 否 。继续第 3 步。 
 
- 有什么 - --replicate-ignore-db选择吗?- 是的。 数据库是否匹配其中任何一个? - 是的。 忽略更新并退出。 
- 否 。继续第 4 步。 
 
- 否 。继续第 4 步。 
 
- 继续检查表级复制选项(如果有)。有关如何检查这些选项的说明,请参阅 第 17.2.5.2 节,“表级复制选项的评估”。 重要的- 在此阶段仍然允许的语句尚未实际执行。在检查了所有表级选项(如果有的话)并且该过程的结果允许执行该语句之前,不会执行该语句。 
对于二进制日志记录,此处列出了涉及的步骤:
- 有什么 - --binlog-do-db选择- --binlog-ignore-db吗?- 是的。 继续第 2 步。 
- 否。 记录语句并退出。 
 
- 是否有默认数据库(有没有选择数据库 - USE)?- 是的。 继续第 3 步。 
- 否。 忽略声明并退出。 
 
- 有一个默认数据库。有什么 - --binlog-do-db选择吗?- 是的。 它们中的任何一个与数据库匹配吗? - 是的。 记录语句并退出。 
- 否。 忽略声明并退出。 
 
- 否 。继续第 4 步。 
 
- 是否有任何 - --binlog-ignore-db选项与数据库匹配?- 是的。 忽略声明并退出。 
- 否。 记录语句并退出。 
 
CREATE
          DATABASE对于基于语句的日志记录,在刚刚为、ALTER
          DATABASE和DROP
          DATABASE语句
          给出的规则中有一个例外。在这些情况下,正在创建、更改或删除
          的数据库会在确定是记录还是忽略更新时替换默认数据库。
        --binlog-do-db有时可能意味着
        “忽略其他数据库”。例如,当使用基于语句的日志记录时,仅运行的服务器
        --binlog-do-db=sales不会写入默认数据库不同于sales. 当使用具有相同选项的基于行的日志记录时,服务器仅记录那些更改数据的更新sales。