还是不行,干脆我把所有操作贴出来。 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> 我该怎么办啊…
如果是Myisam,把这些文件(*.MYD *.MYI *.frm)考到新的数据库相应目录下 就可以
但是要考虑mysql的版本,比如5.0的*.MYD *.MYI *.frm 考到4.0的数据库目录下,肯定是不行的
确实,如果是inndb,那你的数据就都没有了
[mysqld]
innodb_force_recovery=4
重新启动,试试看~!
但是我去desc一张表的时候提示找不到文件
desc article文件article找不到
chown mysql:mysql 就可以
myisam 因为mysql默认就是myisam,当初建表,我默认的
chown mysql ; chgrp mysql chmod 755 所有的权限都跟我新建的另一张表一样
还是不行,他为什么提示找不到 article 文件呢?
我实在是没辙了,请各位老大帮忙,具体应该怎么办啊
我以为你是INNODB的表!1、你要确保你的权限都是MySQL用户的。
2、你要确保你的一个表三个磁盘文件都存在才行。
3、以上条件存在的话,加myisam-recover =FORCE 在MY.CNF 或者MY.INI,然后重新MYSQLD.
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>
我该怎么办啊…
主要原因就是 information_schema 库没有你的表的相关信息。
就像是 数据库可以通过 md 命令建立一个文件夹,但是数据表就不行(不能随便写三个文件,把扩展名写成mysql的,但是,mysql并不认)。2、可能是权限问题(不过,这个可能性很小),看看当前用户有没有管理那个数据库的相应权限?