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

时间:2018-07-26 10:13:27

标签: mysql amazon-web-services google-cloud-sql rds

我在Amazon上使用RDS,需要一种将3TB以上的大型数据库导入Google SQL Cloud的方法。

这里最大的问题是时间-我需要尽快做到这一点。不得不将3TB数据压缩到单个.sql文件中,然后将其移动到s3存储桶中,然后将该大文件导入到Google中,这似乎是不合适的,这似乎是他们似乎希望您这样做的原因。

显然,AWS不允许您创建图像并将其移至S3,因此我无法将该图像导入Google。

此外,似乎还没有一种方法可以通过Google Cloud Console从远程服务器执行mysqldump /导入。

有人遇到过同样的问题吗,有没有一种快速的直接方法来解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

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

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