首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将备份MySQL数据库从一个云服务器转移到另一个云服务器?

如何将备份MySQL数据库从一个云服务器转移到另一个云服务器?
EN

Database Administration用户
提问于 2018-03-12 10:58:22
回答 2查看 329关注 0票数 1

如何(通过mysqldump)将MySQL数据库从一个云服务器备份到另一个云服务器?

我有一个使用innodb的MySQL服务器,大小约为150 is。

我想把数据库备份到其他服务器,最有效的方法是什么?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-03-15 13:07:53

我通过以下查询获得了backUp:

mysqldump mysqldump --单事务--例程--主机10.222.55.111 -u root -p 'Password‘-P 3306 dbname > backup/dbname _$(日期+%F).sql

它可以很好地将备份从一个云服务器转移到其他云服务器。但现在我错了

失去了连接。

我的备份程序还没完成。那我就变了

max_allowed_packet = 1073741824;

现在它工作了一段时间,有时会失败。所以,这似乎并不是完全的证据。

票数 0
EN

Database Administration用户

发布于 2018-03-12 21:36:52

云不能互相交谈

第三台机器可以同时访问它们,对--你的机器。

代码语言:javascript
复制
your> mysqldump -h cloud1 ... >somefile.sql
your> mysql     -h cloud2 ... <somefile.sql

或者,更大胆一些:

代码语言:javascript
复制
your> mysqldump -h cloud1 ...  |
      mysql     -h cloud2 ...

那你甚至都没碰你的磁盘。

性能将取决于您与每个云之间的带宽。在路径中添加一个gzip不会有帮助,因为它在到达您的机器之前不会被压缩。Percona的Xtrabackupmysqldump的一个很好的替代方案。它有压缩选项,甚至还有一些并行性,但是,同样,您可能无法利用这些。

我避免了显而易见的事情(让一个云发送到另一个云端),因为我认为这样的交通是被禁止的。或者,您不能在两个云中运行shell脚本中的命令。

连接可能的

在任何一台云机器上,做

代码语言:javascript
复制
mysqldump -h cloud1 ...  |  mysql -h cloud2 ...

如果网络是慢部分,则在源计算机上执行此操作。

代码语言:javascript
复制
mysqldump ... | gzip  |  ssh cloud2 ... "gunzip | mysql"

(我忘记了如何使用ssh在那边执行这些操作的细节。)

这可以倒转到cloud2上运行:

代码语言:javascript
复制
ssh cloud1 "mysqldump ... | gzip" | gunzip | mysql ...

但这可能并不重要。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/199977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档