从Google Cloud Sql导出数据库到外部数据库

7

我正在尝试将在Google Cloud Sql中创建的数据库导出并导入到一个新的外部服务器。

我尝试通过Google控制台创建SQL备份,下载并通过Filezilla复制到新服务器,然后运行以下命令:

psql -U postgres -d ciclods-db -1 -f Backup-db_Cloud_SQL_Export_2019-03-23\ \(17_01_19\)

但是我得到了以下输出:

错误:角色“cloudsqladmin”不存在 撤销

错误:角色“cloudsqlsuperuser”不存在授予权限

在这些情况下,正确的程序是什么?


我遇到了同样的问题。你找到了解决方案吗? - Afzal Masood
2
我曾经遇到过同样的问题,我只是从我的脚本中删除了这两行代码,然后就成功导入了。我知道这不是最好的做法,但我只是想在我的机器上加载脚本以查看数据。对于我的情况来说,这种方法可行。 - Edu Costa
1
面对同样的问题。有人找到解决方案了吗? - Sysad85
4个回答

2

我通过在导出的SQL文件中查找并删除包含“cloudsqladmin”的两行来解决了相同的问题。我的应用程序无论如何都不使用它。


0
在我的情况下,我的SQL文件大约有10 GB。因此,使用传统的文本编辑器直接删除这两行是不可能的。经过搜索,我发现可以使用sed来删除它们。以下是命令:
sed '/cloudsqladmin\|cloudsqlsuperuser/d' backup.sql > fixedbackup.sql

-3

要完成此任务,您可以按照官方 GCP 指南中关于如何从 Cloud SQL 导出数据[1] 的步骤进行操作。在该文档中,他们提供了将数据导出为转储文件或 CSV 文件的选项,这些文件可以用于其他工具。

https://cloud.google.com/sql/docs/mysql/import-export/exporting


4
是的,但该文件导出了不存在的角色,这会导致错误 -> 错误:角色“cloudsqladmin”不存在。撤销。 - marcantonio sofia

-3
为了创建导出文件,您必须从命令行执行并使用附加标志。根据文档“将数据导出到SQL转储文件”,有一个关于从外部管理的数据库服务器导出数据的部分。
同时,您还可以在那里找到将数据导出到CSV文件的选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接