ERROR 1018 (HY000): Can’t read dir of ‘./dbname/’ (errno: 13)

last updated in Categories

When I run the following command at mysql> I get an error which read as follows:

mysql> use dbname;
mysql> show tables;
ERROR 1018 (HY000): Can’t read dir of ‘./dbname/’ (errno: 13)

How do I fix this problem under Debian Linux?

To fix this problem you need to set correct permission on /var/lib/mysql/dbname/ directory. Use the command as follows:
cd /var/lib/mysql/
ls -l
chown mysql:mysql dbname/ -R

Replace dbname with actual database directory name. Now you can connect to your mysql server:
mysql -u user -p dbname -e 'show tables;'


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

10 comment

  1. Thanks that worked. I was coping the files from an old drive, and even though I used `-p` flag to `cp`, the ownership was weird (wasn’t mysql:mysql)… Not sure what was up with that :)

  2. thanks so much for your entry here! Everywhere else I read suggested this was a number of files open issue, but your answer was correct! I had chown’d it to mysql:root before, but that apparently wasn’t enough.

  3. Sorry to say but it didn’t work for me.
    I am running
    OS : Ubuntu 12.04
    mysql version : 3.4.5
    This problem is on my local system, mysql user name is “root” and password is ” (i.e blank).

    Beers in Advance :)
    Cheers !!

    Still, have a question? Get help on our forum!