gpt4 book ai didi

mysql - 将 View 从生产副本复制到数据仓库

转载 作者:行者123 更新时间:2023-11-29 10:11:05 27 4
gpt4 key购买 nike

我的生产副本中有一个 View (它是一个只读数据库),我需要将其中一个 View 复制到我的数据仓库。

最好的方法是什么?

  • 我无法从副本上的 View 创建表。这意味着我无法执行 CREATE TABLE Table_From_View AS SELECT * FROM My_View;
  • 我无法复制创建 View 定义的所有表。其中一些包含敏感数据。

我确信我在这里错过了一些基本的东西......

想法?

最佳答案

在 MySQL 中, View 不存储任何内容。它更像是别名或宏。它只是将查询逻辑传递到底层基表。

您需要基础基表存在于创建 View 的同一 MySQL 实例上,并且在查询 View 时,基表必须保持存在于同一 MySQL 实例上。

如果您只想复制 View 的内容,而不复制 View 未选择的其他敏感数据,则必须创建一个基表来复制数据:

mysql> CREATE TABLE myview_base AS SELECT * FROM myview;

然后您可以对该复制表进行逻辑转储:

shell > mysqldump --single-transaction mydatabase myview_base > myview_base.sql

然后将该转储文件恢复到数据仓库,就像恢复任何其他 SQL 转储文件一样。

<小时/>

另一种可能的策略:

SELECT * FROM myview INTO OUTFILE 'filename.csv';

这会将 SQL 查询的结果转储到文件中。请参阅https://dev.mysql.com/doc/refman/8.0/en/select-into.html

该文件将在数据库服务器上创建,因此如果您没有服务器的 shell 访问权限,您将无法检索该文件。

关于mysql - 将 View 从生产副本复制到数据仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50938323/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com