安装完MySQL后,我将以前MySQL里数据保存了下来. 然后我直接将数据复制到Data目录下,然后再访问里面的数据时,提示我1145错误,提示我找不到表..网上的方法我已经找遍了,没有一个能够解决我当前的问题..当然,我是想在不删除原有数据的情况下,恢复我的数据.

解决方案 »

  1.   

    什么操作系统?
    贴一下你的错误日志中的相关内容。检查一下目录权限。 
    另外贴一下你的my.ini /my.cfg
      

  2.   

    #1146 - Table 'crmpro.company' doesn't exist 操作系统正版WinXP SP3Admin权限..
      

  3.   

    show tables;
    看一下这个表是否存在?show create table company
    看这个表的存储引擎是什么?
    详细说明一下你的复制步骤,都复制了哪些文件?
      

  4.   

    总结上面的话. 我再描述的详细一点..首先,我安装了MySQL5.0. 之后里面默认的表是可以使用的,我自己创建的数据库,和表也是可以使用的..现在,我从其它地方复制过来一个数据库,放到了现在新安装的MySQL5.0安装目录下的DATA目录下,然后,通过Root用户登陆后,可以发现,数据库是存在的..但是,如果访问那个数据库里面的表,则会出现#1146 - Table 'crmpro.company' doesn't exist 网上的内容说是MySQL不支持复制数据库文件到DATA目录下. 但我现在不想丢失我以前数据库里面的内容,请问,怎么样才能够让里面的数据库表得以恢复,让它继续能够使用呢?
      

  5.   

    你可以把你需要的数据库备份成一个sql文件
    然后在你要用的mysql下恢复一下就可以了
    备份语句是:
    mysqldump -u 用户名 --password=密码 --database 数据库名>路径/名称.sql恢复语句是:
    mysqld -u 用户名 --password=密码 --database 数据库名<路径/名称.sql
      

  6.   

    现在数据库里的表不能被访问,所以你说的备份,也是做不了的.!
    我有放到其它的MYSQL中尝试,结果也一样..
      

  7.   

    直接复制data下的数据,mysql可以,看看我写的文章。http://blog.csdn.net/wcj1981/archive/2010/01/12/5183321.aspx
      

  8.   

    这位达人的方法是正确的!
    一般出现这种问题,是因为创建表时是使用InnoDB作为存储引擎的表,也就是说InnoDB类型的表不能直接复制。而MyISAM类型的表,不会出现复制后显示1145错误!
      

  9.   

    我也事 使用 InnoDB  的存储
     
    也是出现1146错误唉楼主问题解决了吗???
      

  10.   

    楼主
    我的也是InnoDB刚才把服务停止 又重新打开
    表就好使了
    你试试!!
      

  11.   

    把服务停止再启动一次 就好使了!
    楼主你试试!
    我也是innodb的 存储 但是也好用了。