[CentOS] Unable to apply mysqld_db_t to mysql directory

Bernard Fay

bernard.fay at gmail.com
Mon Oct 23 12:33:45 UTC 2017


Hello,

A server was configured in /var/lib/myslq in the root fs.  I added a LV
specifically for mysql.  I stopped myql and renamed /var/lib/mysql to
/var/lib/mysql.old.  I created a new dir /var/lib/mysql and mounted the LV
on /var/lib/mysql.  I then copied with "cp -prZ" all mysql files in
/var/lib/mysql.old to /var/lib/mysql.

But then I got a selinux problem:
# ls -ldZ mysql.old/ mysql
drwxr-xr-x. mysql mysql system_u:object_r:var_lib_t:s0   mysql
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql.old/

I tried to changed the context on mysql with the following commands:

# semanage fcontext -a -t mysqld_db_t "/var/lib/mysql(/.*)?"
# restorecon -R -v /var/lib/mysql

But the /var/lib/mysql directory didn't take the change as you can see
below:
# ls -ldZ mysql.old/ mysql
drwxr-xr-x. mysql mysql system_u:object_r:var_lib_t:s0   mysql
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql.old/


How can I fix the wrong context on mysql directory?
Thanks,



More information about the CentOS mailing list