从/var/lib/mysql/dbname 下的文件都copy出来了
然后重装了mysql
请问如何恢复我以前的数据库的结构和数据binlog等等都没了,只有 /var/lib/mysql下边的这些文件请大侠们帮忙

解决方案 »

  1.   

    你是什么引擎,
    如果是Myisam,把这些文件(*.MYD  *.MYI *.frm)考到新的数据库相应目录下 就可以
    但是要考虑mysql的版本,比如5.0的*.MYD  *.MYI *.frm 考到4.0的数据库目录下,肯定是不行的
      

  2.   


    确实,如果是inndb,那你的数据就都没有了
      

  3.   

    在配置文件里面写入:
    [mysqld]
    innodb_force_recovery=4
    重新启动,试试看~!
      

  4.   

    我是myisam~~
    但是我去desc一张表的时候提示找不到文件
    desc article文件article找不到
      

  5.   

    linux 吧?
    chown mysql:mysql  就可以
      

  6.   

    各位大虾,还是不行……
    myisam 因为mysql默认就是myisam,当初建表,我默认的
    chown mysql ; chgrp mysql chmod 755 所有的权限都跟我新建的另一张表一样
    还是不行,他为什么提示找不到  article 文件呢?
    我实在是没辙了,请各位老大帮忙,具体应该怎么办啊
      

  7.   


    我以为你是INNODB的表!1、你要确保你的权限都是MySQL用户的。
    2、你要确保你的一个表三个磁盘文件都存在才行。
    3、以上条件存在的话,加myisam-recover =FORCE 在MY.CNF 或者MY.INI,然后重新MYSQLD.
      

  8.   

    还是不行,干脆我把所有操作贴出来。
    my.cnf
    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # Default to using old password format for compatibility with mysql 3.x
    # clients (those using the mysqlclient10 compatibility package).
    old_passwords=1[mysql.server]
    user=mysql
    basedir=/var/lib[mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pidmyisam-recover =FORCE
    我的操作是:
    copy xxstu这个文件夹到mysql下,然后mysqld重启mysql的文件
    drwxr-xr-x 2 mysql mysql     4096 Nov  1 21:37 xxstu
    xxstu的文件
    -rwxr-xr-x 1 mysql mysql   8594 Nov  1 21:37 arbo.frm
    -rwxr-xr-x 1 mysql mysql   2340 Nov  1 21:37 arbo.myd
    -rwxr-xr-x 1 mysql mysql   4096 Nov  1 21:37 arbo.myi
    -rwxr-xr-x 1 mysql mysql   8860 Nov  1 21:37 article.frm
    -rwxr-xr-x 1 mysql mysql 323028 Nov  1 21:37 article.myd
    -rwxr-xr-x 1 mysql mysql   5120 Nov  1 21:37 article.myi
    -rwxr-xr-x 1 mysql mysql   8644 Nov  1 21:37 board.frm
    -rwxr-xr-x 1 mysql mysql    792 Nov  1 21:37 board.myd
    -rwxr-xr-x 1 mysql mysql   2048 Nov  1 21:37 board.myi
    -rwxr-xr-x 1 mysql mysql     54 Nov  1 21:37 db.opt
    -rwxr-xr-x 1 mysql mysql   8666 Nov  1 21:37 record.frm
    -rwxr-xr-x 1 mysql mysql      0 Nov  1 21:37 record.myd
    -rwxr-xr-x 1 mysql mysql   1024 Nov  1 21:37 record.myi
    -rwxr-xr-x 1 mysql mysql   8746 Nov  1 21:37 user.frm
    -rwxr-xr-x 1 mysql mysql      0 Nov  1 21:37 user.myd
    -rwxr-xr-x 1 mysql mysql   1024 Nov  1 21:37 user.myiroot进到mysql后的操作:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 3 to server version: 5.0.22Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> use xxstu
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -ADatabase changed
    mysql> show tables ;
    +-----------------+
    | Tables_in_xxstu |
    +-----------------+
    | arbo            |
    | article         |
    | board           |
    | record          |
    | user            |
    +-----------------+
    5 rows in set (0.00 sec)mysql> desc article ;
    ERROR 1017 (HY000): Can't find file: 'article' (errno: 2)
    mysql>
    我该怎么办啊…
      

  9.   

    errno 2的意思是没有这个文件或者目录!!!
      

  10.   

    1、看看information_schema 数据库的TABLES 表里面,肯定没有你的记录,如果可以的话,添加上; column表就更不会有你的记录了,不过,我相信你不知道怎么加吧,看看有没有实用的工具。
    主要原因就是 information_schema 库没有你的表的相关信息。
    就像是 数据库可以通过 md 命令建立一个文件夹,但是数据表就不行(不能随便写三个文件,把扩展名写成mysql的,但是,mysql并不认)。2、可能是权限问题(不过,这个可能性很小),看看当前用户有没有管理那个数据库的相应权限?