在主服务器上添加表 - mysql 数据库复制

在主服务器上添加表 - mysql 数据库复制

我有一个简单的 MySQL 复制系统,只有一个主服务器和一个从服务器。如果我在主服务器上添加一个表,它会显示在从服务器上吗?如果我添加一个列,它会显示在从服务器上吗?删除呢?

这个问题可以概括为:

在简单的 MySQL 复制系统中,模式更改究竟是如何工作的?

答案1

是的,架构更改会像任何其他事件一样进行复制。MySQL 从属服务器将主服务器的二进制日志复制到中继日志中,然后执行事件。当然,这是如果replicate-do-db或其他变量标识了要执行语句的特定范围。

MySQL 中有一个错误,如果您通过将表指定为来执行更改database.table,则它不会复制。它需要一个use语句来继续与变量匹配的查询replicate-do才能真正执行查询。我相信这个问题在当前版本中已经得到解决,但仍需要注意。

此功能有据可查在 MySQL 网站上。

答案2

如果你在主服务器上添加了一个表,那么它会显示在从服务器上。如果你添加了一个列,那么它会显示在从服务器上。如果你删除了一个列,那么它会从从服务器上删除。

如果没有复制过滤器,MySQL 将复制所有数据和架构更改。数据库的创建和删除也是如此。

话虽如此,我强烈反对复制过滤器。

MySQL 显示复制正常,但未复制数据

对于大多数应用来说,将其敞开就完全没问题。

相关内容