大家好,我在做mysql数据库恢复从mysqldump导出来的数据时,引擎是innodb。在恢复时,top查看内存的使用free中一直下降 直到剩余几百M,然后Mysql的cpu就一直占用100%。这时数据库恢复就开始特别慢。求解

解决方案 »

  1.   

    恢复的过程,其实就是执行一大堆 INSERT语句。另外你MYSQLDUMP的时候估计是多行值插入。这样会导致事务过大。
      

  2.   

    用字处理软件打开你的备份文件,然后找出其中比较大的INSERT语句,拆分成小的句子。
      

  3.   

    导出时有指定--skip-extended-insert,所以insert是一行一行insert的,我就奇怪为什么会一直消耗内存 
      

  4.   

    我是一天的数据导出到一个.SQL文件,执行一天的数据恢复没问题,当继续恢复第二天的时候,CPU就上来了 。每天的数据有9个G
      

  5.   

    还有就是分段把INSERT commit 一下,避免过大的事务。