MySQL Daemon failed to start – Can’t find file: ‘./thesql/plugin.frm’

mysqld

Fresh install of CentOS 6 on a test box, ran following as root:

yum install mysql-server    #success
service mysqld start        #success
service mysqld stop         #success
cd /var/lib/
cp -rp mysql mysql.bak      
rm -rf mysql                
cp -rp mysql.bak mysql      
service mysqld start  

MySQL Daemon failed to start.

cat mysqld.log

/usr/libexec/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13)

ls -l
drwxr-xr-x. 4 mysql   mysql   4096 May  1 13:26 mysql
drwxr-xr-x. 4 mysql   mysql   4096 May  1 13:23 mysql.bak

Directories are the same

diff -r mysql mysql.bak 

No differences

ls -lR mysql > out1
ls -lR mysql.bak > out2
diff out1 out2

No differences

I also looked manually and every file in mysql vs mysql.bak has the same ownership mysql:mysql & same permissions.

Ive seen the previous SO issue like this, but that didn't help.

Any ideas?

Best Answer

The answer maybe in the question. "Can't find file: './mysql/plugin.frm'"

  1. Make sure that file exists and permissions are correct, which you did.
  2. Next, SELinux may interfering (see this post)

You may test the SELinux theory by running the following:

setenforce 0
service mysql start

To permanently turn off SELinux, follow the steps here.