想知道是否有办法使用 mysqldump 跳过/忽略所有临时表。在我们的实例中,这些表的前缀为 tmp{guid}。
这些临时表的生命周期非常短,它们用于在其父应用程序中构建某种报告。生命周期可能长达 1 分钟。
编辑: 有人建议我使用ignore-tables参数,不幸的是,这并没有为我提供指定通配符作为表名(tmp*)的方法。
最佳答案
您不是在谈论来自CREATE TEMPORARY TABLE ...
的表,对吗?相反,您正在谈论一组具有特定命名约定的表?
不要尝试使用表名来完成此操作,而是使用DATABASE
来完成:
CREATE TABLE TempTables;
CREATE TABLE TempTables.abcd (...);
并通过数据库名称引用它们:
INSERT INTO TempTables.abcd ...
SELECT ... FROM TempTables.abcd JOIN ...
然后在 mysqldump 上使用合适的参数来避免使用该数据库
DATABASE(或选择所有其他数据库进行转储)。
关于mysql - 使用 mysqldump 时跳过或忽略临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60031811/