首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MySQL管理加快MySQL备份?

如何使用MySQL管理加快MySQL备份?
EN

Server Fault用户
提问于 2009-07-29 19:44:33
回答 3查看 533关注 0票数 0

我有一个专用的MySQL 5.1数据库服务器,有2个IntelXeon2GHz四核处理器和10 Gb的Ram。

我使用MySQL管理工具来执行我的数据库的全部备份,其大小为12 Gb,但是这个过程几乎需要4个小时才能完成。

在分析备份期间的处理器使用情况时,MySQL管理员只使用了一个核心,这完全是浪费,因为我还有另外7个核心处于空闲状态。

是否有一种使用MySQL管理工具加快备份过程的方法,或者您是否推荐另一种方法来执行更快的备份?

编辑:服务器运行Windows2008 x64企业版

EN

回答 3

Server Fault用户

发布于 2009-07-29 20:25:17

除非您的整个数据集适合内存,否则您进行转储的最大瓶颈是将数据从磁盘上取出并返回到转储文件中的磁盘上。使用更多的内核可能不会让这件事变得更快。

我想说,12‘d的数据需要4个小时才能完成,这是慢的。我们只花了几个小时就做到了几倍。如果使用unix,我建议您使用以下方法进行转储:

代码语言:javascript
复制
# mysqldump --opt database | gzip > /tmp/database.sql.gz

首先,"mysqldump -opt“提供一个SQL脚本,它是将数据导入MySQL的最快方法。其次,压缩SQL脚本将减少保存转储所需的IO,为完成转储所需的读取留下更多信息。第三,希望压缩将运行在第二个核心,使用更多的CPU。

票数 1
EN

Server Fault用户

发布于 2009-07-29 20:00:33

可能不会。备份通常会滥用磁盘I/O总线,因此并行运行更多的东西不太可能改善总的产生时间。

您可以像Ian建议的那样尝试一些并行mysqldumps,并比较吞吐量。

票数 0
EN

Server Fault用户

发布于 2009-07-29 20:08:11

谁在使用一个核心- mysql还是mysqladmin进程?是一个单一的数据库吗?我在某个地方找到了一个脚本,可以在一个单独的文件中对每个数据库进行备份,这样它就可以用于并行运行更多的备份

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

https://serverfault.com/questions/47719

复制
相关文章

相似问题

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