SELinux and MySQL

https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql

有时候因为SELinux的原因导致程序不能正常运行,最简单粗暴的方式就是关闭它。实际上存在即合理,内置这个安全引擎是有道理的,可以用SELinux的方式来解决这些问题。MySQL改了端口号或者数据文件地址,无法正常启动。下面是具体的操作方法:

比如端口号改为3307了,可以这么设置:

[root@boxy ~]# semanage port -a -t mysqld_port_t -p tcp 3307

semanage工具可以变更很多SELinux设置。这里,我们为使3307端口使用TCP作为它的协议(-p tcp)而向端口映射增加了(-a)一种类型(-t mysqld_port_t)。当MySQL(通过mysqld_safe进程)试图访问这个端口时,SELinux从策略(译注:policy)里面识别这个端口匹配一种类型,并且允许进行这样的访问。

另外一个例子:数据文件夹改变为/data/mysql

[root@boxy ~]# semanage fcontext -a -t mysqld_db_t “/data/mysql(/.*)?”

[root@boxy ~]# restorecon -Rv /data/mysql