Import/Export mysql 通过 SSH 在两个远程主机之间
Import/Export mysql between two remote hosts over SSH
我在亚马逊上使用 RDS,需要一种方法将超过 3TB 的大型数据库导入到 Google SQL 云。
这里最大的问题是时间 -- 我需要尽快完成。将 3TB 的数据压缩到单个 .sql 文件中,将其移动到 s3 存储桶,然后将这个巨大的文件导入到 Google 中感觉不对——这似乎是他们更喜欢你的方式要做。
显然 AWS 不允许您创建图像并将其移动到 S3,因此我无法再将该图像导入 Google。
此外,似乎没有一种方法可以通过 Google 云控制台从远程服务器执行我的sql转储/导入。
有没有人遇到同样的问题,是否有快速直接的方法来解决这个问题?
经过数小时的搜索,我能够使用现有的 AWS 实例充当两个远程 SQL 服务器之间的代理。
允许访问 Google SQL 服务器(在 'authorization' 选项卡下输入 AWS 机器的 IP)后,您可以连接到两个远程服务器并使用类似这样的东西直接将每个数据库 table 复制到:
mysqldump -h yourdatabase.rds.amazonaws.com -u user -ppassword awsdbtable --compress --single-transaction | mysql --host=YourGoogleSQL_IP --user=dbuser --password=dbpassword googledbtable
我在亚马逊上使用 RDS,需要一种方法将超过 3TB 的大型数据库导入到 Google SQL 云。
这里最大的问题是时间 -- 我需要尽快完成。将 3TB 的数据压缩到单个 .sql 文件中,将其移动到 s3 存储桶,然后将这个巨大的文件导入到 Google 中感觉不对——这似乎是他们更喜欢你的方式要做。
显然 AWS 不允许您创建图像并将其移动到 S3,因此我无法再将该图像导入 Google。
此外,似乎没有一种方法可以通过 Google 云控制台从远程服务器执行我的sql转储/导入。
有没有人遇到同样的问题,是否有快速直接的方法来解决这个问题?
经过数小时的搜索,我能够使用现有的 AWS 实例充当两个远程 SQL 服务器之间的代理。
允许访问 Google SQL 服务器(在 'authorization' 选项卡下输入 AWS 机器的 IP)后,您可以连接到两个远程服务器并使用类似这样的东西直接将每个数据库 table 复制到:
mysqldump -h yourdatabase.rds.amazonaws.com -u user -ppassword awsdbtable --compress --single-transaction | mysql --host=YourGoogleSQL_IP --user=dbuser --password=dbpassword googledbtable