因为新建了一台服务器,要把旧机器上的MySql复制到新机器上,在新机器上安装了与旧机器相同版本的MySql(5.0.41),
然后在旧机器上用命令导出数据库:mysqldump -uroot -p0 db >c:\test.sql
导出的文件大约30M,用记事本打开,里面的中文什么的都显示正常;再到新机器上用命令导入:mysql -uroot -p0 db <c:\test.sql结果出错:ERROR 2005 (HY000) at line 72: Unknown MySQL server host '00:00:00','1','2007-06-06' (87)
打开文件一看72行,很长很长的一个insert语句,
手动删除了72行后,再导入时,又出错:ERROR 2006 (HY000) at line 394: MySQL server has gone away类似还有别的错误:ERROR 1064 (42000) at line 100: You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right syntax to use
 near '2006-08-01 00:00:00','2006-10-01 00:00:00','骈界靛告版牎搴?
绲? at line 1
中间改用sqlyog导出,再用sqlyog导入,问题依旧,再改用SqlFront也是同样问题
请问我应该怎么导入数据到新的数据库呢?

解决方案 »

  1.   

    在命令行导入。
    \.你的备份文件
    或者source 你的备份文件
      

  2.   

    版大,刚刚试过了,问题依旧,还是那个2005错误。
    只是出了2005错误后,还在执行下面的语句,执行时报错:no Connectoin.Trying to reconnect
      

  3.   

    试了无数次,依然存在问题,最奇怪的是我把出错的那一行,拷贝到SqlYog里执行,就没有问题最后解决方案:
    用SqlYog导出Tables的结构和数据
    再用SqlYog导出其它(存储过程,视图,函数,触发器)的结构导入时,结构和数据用SqlYog导入
    其它结构用命令行导入(不能用SqlYog导入,会报root没有权限)
      

  4.   

    可以不可以想其他办法呢?我们不导入导出不行么?如果你在新机器上建立一个和旧机器一样的数据库名称的空数据库
    比如你的数据库名字叫ABC123 那么就会有一个文件夹叫ABC123 
    然后到数据库存放目录直接复制出来到另外一个机器上粘贴 
    只复制这个文件夹到新机器上覆盖原来的就可以了我也不确定这样行不行 不过我在LINUX 系统下MYSQL4.1测试 有的数据库是可以的 
    但是又的数据库却不行 具体为什么我也不清楚 还没花时间去研究
    小弟也是初学MYSQL说的不对的地方请指教
      

  5.   

    刚刚测试了一下,已经OK了,但是尚不清楚还有没有别的问题
    具体步骤:
    1、新机上新建一个和旧机器一样的数据库名称的空数据库,如db,此时在MySql的Data目录下出现了db目录 
    2、停止新机和旧机上的MySql服务
    3、拷贝旧机上的db目录到新机上,覆盖原目录
    4、拷贝旧机上的ibdata1文件到新机上,覆盖原文件
    5、启动新机上的MySql服务请版大指点一下这么做有没有什么后遗症?
      

  6.   

    SQLYOG导入数据是会出这样的问题。所以还是用命令行来导入可靠点。
      

  7.   

    可以把出问题的sql语句,单列出来,手动插入,再分析一下问题所在。
      

  8.   

    楼上的,我已经说过了
    最奇怪的是我把出错的那一行,拷贝到SqlYog里执行,就没有问题算了,结帖吧。