Pankaj Kumar Asked: 2018-03-13 02:58:22 +0800 CST2018-03-13 02:58:22 +0800 CST 2018-03-13 02:58:22 +0800 CST 如何将备份的 MySQL 数据库从一台云服务器备份到另一台云服务器? 772 如何将 MySQL 数据库从一台云服务器备份(通过 mysqldump)到另一台? 我有一个使用 innodb 的 MySQL 服务器,大小约为 150GB。 我想将数据库备份到其他服务器,最有效的方法是什么? mysql mysqldump 2 个回答 Voted Rick James 2018-03-13T13:36:52+08:002018-03-13T13:36:52+08:00 云不能互相交谈 有第三台机器可以访问它们,正确 -您的机器。 your> mysqldump -h cloud1 ... >somefile.sql your> mysql -h cloud2 ... <somefile.sql 或者,更大胆一点: your> mysqldump -h cloud1 ... | mysql -h cloud2 ... 那么你甚至不会接触你的磁盘。 性能将取决于您和每个云之间的带宽。在路径中添加 gzip 不会有帮助,因为它在到达您的机器之前不会被压缩。PerconaXtrabackup是mysqldump. 它有压缩选项,甚至有一些并行性,但同样,您可能无法利用这些选项。 我避免了明显的(让一个云发送到另一个)因为我预计这样的流量是被禁止的。或者你不能在任一云上从 shell 脚本运行命令。 可以连接 在任一云计算机上,执行 mysqldump -h cloud1 ... | mysql -h cloud2 ... 如果网络是慢速部分,则在源机器上执行此操作 mysqldump ... | gzip | ssh cloud2 ... "gunzip | mysql" (我忘记了如何使用 ssh 在那边执行这些东西的细节。) 这可以逆转以在 cloud2 上运行: ssh cloud1 "mysqldump ... | gzip" | gunzip | mysql ... 但这可能并不重要。 Best Answer Pankaj Kumar 2018-03-16T05:07:53+08:002018-03-16T05:07:53+08:00 我已通过此查询进行备份: mysqldump mysqldump --single-transaction --routines --host 10.222.55.111 -u root -p '密码' -P 3306 dbname > backup/dbname _$(date +%F).sql 它适用于从一个云备份到另一个云服务器。但现在我得到错误 mysqldump 失去连接。 我的备份过程没有完成。那我变了 max_allowed_packet = 1073741824; 现在它工作了一段时间,有时失败了。所以,它似乎没有充分的证据。
云不能互相交谈
有第三台机器可以访问它们,正确 -您的机器。
或者,更大胆一点:
那么你甚至不会接触你的磁盘。
性能将取决于您和每个云之间的带宽。在路径中添加 gzip 不会有帮助,因为它在到达您的机器之前不会被压缩。Percona
Xtrabackup
是mysqldump
. 它有压缩选项,甚至有一些并行性,但同样,您可能无法利用这些选项。我避免了明显的(让一个云发送到另一个)因为我预计这样的流量是被禁止的。或者你不能在任一云上从 shell 脚本运行命令。
可以连接
在任一云计算机上,执行
如果网络是慢速部分,则在源机器上执行此操作
(我忘记了如何使用 ssh 在那边执行这些东西的细节。)
这可以逆转以在 cloud2 上运行:
但这可能并不重要。
我已通过此查询进行备份:
它适用于从一个云备份到另一个云服务器。但现在我得到错误
我的备份过程没有完成。那我变了
现在它工作了一段时间,有时失败了。所以,它似乎没有充分的证据。