代码之家  ›  专栏  ›  技术社区  ›  Tim

通过ssh在两个远程主机之间导入/导出mysql

  •  0
  • Tim  · 技术社区  · 8 年前

    我在Amazon上使用rds,需要一种方法将3tb以上的大型数据库导入到GoogleSQlcloud。

    这里最大的问题是时间——我需要这个尽快发生。将3TB的数据压缩到一个.sql文件中,将其移动到S3存储桶中,然后将这个巨大的文件导入到Google中,这似乎是他们更喜欢你做的事情。

    显然,AWS不允许你创建一个图像并将其移动到S3,所以我无法将该图像导入谷歌。

    此外,似乎没有一种方法可以通过谷歌云控制台从远程服务器执行mysqldump/导入。

    是否有人面临同样的问题,是否有一种快速直接的方法来解决这个问题?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Tim    8 年前

    经过数小时的搜索,我能够使用现有的AWS实例在两个远程SQL服务器之间充当代理。

    在允许访问Google SQL Server(在“授权”选项卡下输入AWS机器的IP)之后,您可以连接到两个远程服务器,并使用类似的方法直接复制每个数据库表:

    mysqldump -h yourdatabase.rds.amazonaws.com -u user -ppassword awsdbtable --compress --single-transaction | mysql --host=YourGoogleSQL_IP --user=dbuser --password=dbpassword googledbtable