mysql 复制 View 不起作用

标签 mysql view database-replication percona mysql-5.5

我试图在 mysql 从站上复制特定 View ,同时忽略基表。 我创建了一个 View ,从特定数据库的特定表中选择*。 在从属 my.cnf 中,我将复制限制为以下内容:

replicate-do-db=DBNAME
replicate-ignore-table=TABLENAME

当我在从属服务器上启动复制时,出现 sql 错误:

Last_SQL_Error: Error 'TABLENAME 'DBNAME.TABLENAME' doesn't exist' on query. Default database: 'DBNAME'. Query: 'CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `TABLENAMEVIEW` AS SELECT * FROM TABLENAME'

我正在使用 mysql 5.5.1 并按照以下 http://dev.mysql.com/doc/refman/5.5/en/replication-features-views.html即使忽略表,也可以复制 View 。

知道如何解决这个问题吗?

谢谢

最佳答案

没有基表,VIEW 将无法工作。您可以忽略复制中的基表,这样新数据就不会进入,但该表必须存在才能使 VIEW 发挥作用。

MySQL 中的 View 只不过是 SELECT 语句的简单别名。它们没有具体化,内部没有存储任何数据,因此每次从 VIEW 中进行 SELECT 时都会执行其底层 SELECT。

关于mysql 复制 View 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208200/

相关文章:

mysql - 主主复制问题

Mysql 查找更新的从站

mysql - 提高 MySQL LIKE 查询的速度?

php - 在一个查询中计算两个字段的问题

java - ImageView 上的透明背景 EditText 不会显示光标

c# - 使用 PagedList.Mvc 在我的 View 中创建页面会出现构建错误

javascript - Ember : How do I inject into a view?

mysql - 级联副本仍然适用于 RDS MySQL 吗?

mysql - 如何在学说中左连接子选择

php - 在 MySQL 和 PHP 中使用 Join 的别名