ERROR 1017 (HY000): Can't find file


I have a rather weird problem.

mysql> use fogbugz;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW INDEX FROM FragmentCache;
ERROR 1017 (HY000): Can’t find file: ‘./fogbugz/FragmentCache.frm’ (errno: 13)

-rw-r----- 1 root root 8694 2008-04-02 18:26 /var/lib/mysql/fogbugz/FragmentCache.frm

datadir = /var/lib/mysql

What I did was stop another mysqld, tar the whole fogbugz/, stopped the new mysqld and unpacked the tar.
Permissions on all files in fogbugz/ are 640 (except fogbugz/ which is 750).

Got any tips?

FYI; Reason I did not do a proper mysqldump is because I could not import it… client hangs.

This goes for most .frms.

ysql> select * from Word;
ERROR 1017 (HY000): Can’t find file: ‘./fogbugz/Word.frm’ (errno: 13)

-rw-r----- 1 root root 8796 2008-04-02 18:26 /var/lib/mysql/fogbugz/Word.frm

I think the issue is:

I upgraded the software fogbugz from v5 to v6.
So first I had the v6 database created, I then copied the v5 to the data dir of fogbugz. Some files got overwritten.
Maybe one of the files holds a record of what files (.frms) belong to the database fogbugz?

-rw-r----- 1 root root 8796 2008-04-02 18:26 /var/lib/mysql/fogbugz/Word.frm

The file belongs to root. I think your mysqld is running as user mysql. So mysqld cant read the file.
After untaring (as root?!) you should do a chown (or chmod, first preferred) on the files.

Thanks erkules, I was facing the same problem. I did a chmod and it fixed it.
chmod 755 /export/home/local/mysql/var//.