你进入mysql后,用use dbname;进入表所在数据库后,再show tables;查看有没有相应的表,有的话就用drop table tablename;进行删除.
如果还不行的话,你复制好一份后,编辑里面的sql语句,保存好后,再来恢复看行不行?

解决方案 »

  1.   

    to hy2003fly():use dbname;后,提示 Database changed
    我现在想这样尝试:
    把my.cnf文件改名,重启mysql服务,让mysql以默认配置启动,然后再把数据导进去看看,导完数据了,再把my.cnf文件改回来,重启mysql
      

  2.   

    用mysql -h hostname -u username -p dbname < /dbpath/dbname恢复时
    有什么办法能知道进度吗?
      

  3.   

    那你有没有用show tables;来确定数据库里到底是不是已经存在了一个你想建的表?
    如果你重命名my.cnf的话,你的mysql服务会启动不了的,因为mysql启动的时候是自动读取my.cnf文件里的内容。
    你想知道进度的话就有图形管理工具,mysql-administrator,下载地址为:http://dev.mysql.com/downloads/administrator/1.1.html要不然这样吧,你新建一个空的数据库,等你全部都恢复了,再把数据库重命名吧。
      

  4.   

    MySQL数据库从备份文件恢复完后(只恢复了一大部分,难道是因为下面这个错误?)
    有这样的错误提示:
    ERROR 1064 at line 3690640: You have an error in your SQL syntax near 'desc text
    '
      seq int(11) default NULL,
      category_id int(11) default NULL,
      cou' at line 5
      

  5.   

    应该没有后遗症。没有错,就是因为你的备份的sql文件里有错误,所以不能全部恢复。
    解决的办法就能是在备份文件里找到相应的行,然后改正,再执行。
      

  6.   

    现在想,也许能用 
    mysqlbinlog --stop-position
    mysqlbinlog --start-postion还在查资料中
      

  7.   

    大体写了一下:mysqlbinlog --start-date="time_of_err_occur_1" --stop-date="time_of_err_occur_2" /path_to_log_file/bin.1234 > output_file.sql通过上面来找到错误位置,mysqlbinlog --stop-position="1234' --start-position="1239" /path_to_log_file/bin.1234 | mysql -u user_name -p db_name通过上面把错误行跳过,
    现在想到一个问题是,start-date和stop-date怎么确定? 
      

  8.   

    又有新问题:http://community.csdn.net/Expert/topic/4637/4637156.xml?temp=.1336023
      

  9.   

    start-date和stop-date可以由你自己来指定的。