[英]Moving of large MySQL database from limited resource server
我有一台装有MySQL数据库服务器的Windows Server
。 其中有多个数据库, database A
包含一个名为“ tlog”的巨大表,大小约为220gb。
我想将database A
移至另一台服务器以进行备份。
我知道我可以执行SQL Dump或使用MySQL Workbench / SQLyog进行表复制。
但是由于服务器中的磁盘存储空间有限(小于50GB),所以无法进行SQL Dump。
服务器正在处理其他工作,因此基本上CPU和RAM也受到限制。 结果,无法复制没有占用CPU和RAM的表。
是否有其他方法可以将巨大的database A
移至另一台服务器?
提前致谢。
您有几种方法:
转储并同时压缩: mysqldump ... | gzip > blah.sql.gz
mysqldump ... | gzip > blah.sql.gz
这种方法很好,因为您的数据库可能会少于50GB。 因为数据库转储应为ASCII; 然后您就可以动态压缩它。
您可以使用从属复制; 此方法将需要转储数据。
您也可以使用xtrabackup
。
您可以关闭数据库,并rsync
数据目录。
注意:实际上,您不必关闭数据库。 但是,您可以执行多个rsync
; 最终什么都不会改变(如果数据库繁忙则不太可能;必须在缓慢的时间内完成); 这意味着数据库将已经同步。
我必须对相当大的PostgreSQL数据库(1TB +)进行此方法。 它需要几个rsync
: 停机时间为零。
如果您在虚拟环境中,则可以:
如果您担心在转储或转移期间消耗资源,可以使用ionice
和renice
限制转储/转移的优先级。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.