我用mysqldump从本地导出了一个.sql数据库,有50多M左右;
用source来恢复,2个小时都没有恢复完?
用mysql恢复也一样很慢,请问导入大的数据库有什么办法?

解决方案 »

  1.   

    50多M两小时,50G俩小时还差不多吧导入后另起一个mysql客户端进程  show  processlist看看是否在insert数据
      

  2.   

    打开你的这个50M的SQL文件看看,都是些什么。看看到底哪一句慢
      

  3.   


    mysql> show processlist;
    +----+------+----------------+-----------+---------+------+-------+-------------
    -----+
    | Id | User | Host           | db        | Command | Time | State | Info
         |
    +----+------+----------------+-----------+---------+------+-------+-------------
    -----+
    |  1 | root | localhost:1072 | biyietest | Sleep   |    7 | NULL  | NULL
         |
    |  2 | root | localhost:1305 | NULL      | Query   |    0 | NULL  | show process
    list |
    +----+------+----------------+-----------+---------+------+-------+-------------
    -----+
    2 rows in set (0.03 sec)mysql> ^A^X
      

  4.   

    | 1 | root | localhost:1072 | test | Sleep | 7 | NULL | NULL
    sleep了
      

  5.   

    |  1 | root | localhost:1072 | biyietest | Sleep   |    7 | NULL  | NULL什么都没执行啊。估计你的50M中有什么语句是不完整的,仍在等待输入,特别是注意引号的匹配。
      

  6.   

    首先,要确定是50M的数据。
    如果真的是50M的数据,2个小时还没有恢复完,应该能找到当前正在执行的SQL语句。不会是你的系统配置参数太低了吧。比如packet_size之类的。
      

  7.   

    1 mysqldump怎么导出得  重新导出一下
    2 mysql怎么导入得