≡ Menu

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

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;'

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 8 comments… add one }

  • Zoffix Znet April 1, 2012, 1:13 pm

    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 :)

  • Pavan G Jakati July 24, 2012, 5:42 am

    Thank a ton for your valuable effort and heko

  • Mohamed August 31, 2012, 10:37 am

    Great, it fixed my problem

  • Mohamed August 31, 2012, 10:37 am

    Thanks, you’re helpful

  • kipkajules October 30, 2012, 6:36 pm

    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.

  • ionut June 10, 2013, 10:17 am

    Really thank you for info! It worked very well

  • Robin January 24, 2014, 10:06 am

    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 !!

  • Ma July 21, 2014, 2:32 am

    Thank you very much. You saved our day.

Leave a Comment