繁体   English   中英

将大型MySQL数据库从有限资源服务器中移出

[英]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移至另一台服务器?

提前致谢。

您有几种方法:

方法1

转储并同时压缩: mysqldump ... | gzip > blah.sql.gz mysqldump ... | gzip > blah.sql.gz

这种方法很好,因为您的数据库可能会少于50GB。 因为数据库转储应为ASCII; 然后您就可以动态压缩它。

方法二

您可以使用从属复制; 此方法将需要转储数据。

方法3

您也可以使用xtrabackup

方法4

您可以关闭数据库,并rsync数据目录。

注意:实际上,您不必关闭数据库。 但是,您可以执行多个rsync 最终什么都不会改变(如果数据库繁忙则不太可能;必须在缓慢的时间内完成); 这意味着数据库将已经同步。

我必须对相当大的PostgreSQL数据库(1TB +)进行此方法。 它需要几个rsync 停机时间为零。

方法5

如果您在虚拟环境中,则可以:

  • 克隆磁盘映像。
  • 如果您使用的是AWS,则可以创建AMI。
  • 您可以添加另一个磁盘,然后仅在本地同步; 然后分离磁盘,然后重新连接到新的VM。

如果您担心在转储或转移期间消耗资源,可以使用ionicerenice限制转储/转移的优先级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM