我试图在 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/