【问题标题】:how to easily replicate mysql database to and from google-cloud-sql?如何轻松地将mysql数据库复制到google-cloud-sql?
【发布时间】:2019-07-15 11:09:48
【问题描述】:

Google 说 没有触发器没有存储过程没有视图。这意味着我唯一可以转储(或导入)的只是 SHOW TABLESSELECT * FROM XXX? (!!!)。

对于具有 10 个表和 100 个触发器、存储过程和视图的数据库来说,这意味着我必须手动重新创建几乎所有内容? (无论是进口还是出口)。

(我的老板认为我在欺骗他。他无法理解以前,对我来说,雇主如何通过两次单击将复制到一堆计算机上,而我个人需要数小时(甚至数天)才能与互联网巨头合作像谷歌。)

编辑

我们有在本地计算机上创建的应用程序,我们使用本地 MySQL。这些应用程序使用 MySQL DB,例如,由 n 个表和 10*n 个触发器组成。目前我们甚至无法检查 google-cloud-sql,因为这意味着几乎所有内容(除了 n 个几乎为空的表)都必须手动“上传”。而且我们也不能使用 google-cloud-sql DB 进行检查,因为这意味着几乎所有内容(除了 n 个几乎为空的表)都必须手动“下载”。

到目前为止,我们通过从本地或“云”MySQL 获取一个不错的 mysqldump 来执行这些“上下”加载。

【问题讨论】:

  • @Raymond Nijland 这是评论,而不是问题...无论如何,如果没有任何用处,请随意删除它。
  • “雇主通过两次单击将复制复制到一堆计算机上” 如果您在 Google 云上使用 MySQL,您也可以设置 Private IP / Connection options for external applications 并同步您的(本地/远程)数据库与远程 SQL IDE..

标签: mysql google-cloud-sql


【解决方案1】:

不清楚您的要求是什么。您想要“复制”还是“备份”,因为这些是 MySQL 中的不同概念。

如果您想将数据复制到另一个 MySQL 实例,您可以设置replication。此复制可以来自 Cloud SQL 实例,也可以使用 external master 功能复制到 Cloud SQL 实例。

如果您想将数据备份到服务器或从服务器备份数据,请查看 importing dataexporting data 上的这些页面。

【讨论】:

    【解决方案2】:

    据我了解,你想Create Cloud SQL Replicas。文档中有很多副本选项,请使用最适合您的选项。

    但是,如果您说“副本”为 Cloning a Cloud SQL instance,您可以按照步骤将您的实例克隆到一个新的独立实例中。

    其中一些教程是使用 GCP Console 完成的,可以安排。

    【讨论】:

    • 克隆 Cloud SQL 实例的确切页面显示:您的 SQL 转储文件不得包含任何触发器、视图或存储过程
    • 也许你应该考虑改变你的设计。我建议您在每台机器上放置 SQL 客户端。让它们连接到同一个 Cloud SQL 实例,并为每个项目创建一个具有适当权限、触发器和视图的数据库。这样做会阻止您在每台机器上手动执行视图和触发器导入,因为它们将存在于您的 Cloud SQL 实例中。
    猜你喜欢
    • 2018-01-08
    • 1970-01-01
    • 2012-02-18
    • 2014-10-21
    • 1970-01-01
    • 2014-07-13
    • 2015-09-13
    • 2017-08-20
    • 2019-11-10
    相关资源
    最近更新 更多