我把别人电脑中的 c:\mysql\data\mydata 目录拷到我的相同位置.用 use mydata ;   show tables; 都没问题但是一用 desc table select * from table 就会显示 
ERROR 1146 (42S02): Table 'mydata.table' doesn't exist可是用 show tables ;列表,表明明存在呀!请高手指点.

解决方案 »

  1.   

    恐怕直接拷贝过去使用是不行的。我在本机上做了实验,失败了。我查看了information_schema数据库的部分表的记录。有些的表记录着在此数据库上所用创建过的表的信息。把一个数据库文件夹拷贝到另一个数据库数据目录下并正常使用它,恐怕得在information_schema数据库的某些表中添加记录才可以。我没试,太多了~~
    建议拷贝的方式选择在第一个数据库中导出,再在第二个数据库中导入。
      

  2.   

    刚刚又做了个实验,我把一个数据库文件夹(我用的是world)下的全部文件拷贝到另一个MySQL服务器上的test文件夹下(假如这个文件夹是空的),然后用phpmyadmin打开,发现可以查看。
    也许你可以试试这种方法~
      

  3.   

    拷贝前后库的engine必须一致。
      

  4.   

    谢谢大家!engine是指版本号吗?
    不同版本的MYSQL不能这么拷吗?
      

  5.   

    当你建立一个数据表或者数据库的时候,
    MySQL 会在mysql库里面注册信息,楼主这样直接拷贝恐怕不可以吧。
    要在Mysql库里面注册一定信息,并且制定那个用户能够对该库进行何种操作(制定用户的操作权限)。
    完成以上步骤才可以正常使用该数据库。
      

  6.   

    能手工改这些注册信息吗?
    我从别人那拷了个项目,他说只要放到MYSQL的data目录下就可以了.但是我试了好多次都不能用.
      

  7.   

    lz
    知道desc table的意思吗?
    这是显示某个表的栏位信息.
    所以这里的table是table name
    你直接用desc table.
    而你mydata的中有名字为table的表吗?
    没有当然就会ERROR 1146 (42S02): Table 'mydata.table' doesn't exist
      

  8.   

    另外说一下,Mysql的各种版本之间数据复制都没有问题的.
    我从4.0复制到5.0,再到6.0都没有问题.
      

  9.   

    1. 数据文件的拷贝只适用于
    Myisam表类型,innodb表是不可以拷贝的。
    2. 请确定你的表名是table?