mysql - 使用 mysqldump 时跳过或忽略临时表
问题描述
想知道是否有一种方法可以使用 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 ...
然后在 DATABASE` 上使用合适的参数mysqldump to avoid that one
(或选择所有其他数据库进行转储)。
推荐阅读
- python - 如何在 opencv-python 中将 EXR 图像与 jpg 图像合并?
- discord.js - “TypeError:无法读取未定义的属性‘split’” discord.js v12
- graphql - GraphQL 在类型之前定义联合
- go - 使用golang server同时服务flutterweb app和rest api
- sql - Postgres 每小时按数据分组,然后找到 max 和 min createdAt 的时间差并计算它们的总和
- swift - 尝试在 macOS 催化剂上执行 oauth 时应用程序失败,在 iOS 和 iPadOS 上运行良好
- javascript - 使用来自注入模块的服务 - NestJS
- php - php foreach 列出所有数据,但隐藏值不为空的输入
- python - 用于 4D (x,y,t -> u_pred) 的 griddata 插值,而不是 python 中的 3D (x,t->y_pred)
- python - 即使使用正确的标头,请求也被拒绝