Ayer estuve realizando algunas operaciones con el SELinux en el servidor de desarrollo y a partir de ese momento el MySQL emitía un error de que no podía escribir en el dir /tmp, al reiniciar el servidor mysql en inspeccionar su log con:
# tail -f /var/log/mysqld.log
emitía el siguiente error
/usr/libexec/mysqld: error while loading shared libraries: librt.so.1: cannot open shared object file: Permission denied
Luego inspeccioné el messages log
# tail -f /var/log/messages ... avc: denied { search } for pid=1860 comm="mcstransd" name="/" dev=sda2 ino=2 scontext=system_u:system_r:setrans_t:s0-s0:c0.c1023 tcontext=system_u:object_r:httpd_sys_content_t:s0 tclass=dir ...
De la operación anterior me dí cuenta que había cambiado el contexto al dir root (/) a httpd_sys_content_t por tanto la solución fue restablecer el contexto:
# chcon -t root_t /
Luego:
# service mysqld start
y todo funcionó Ok.
Conclusión
El SELinux incrementa el nivel de seguridad de los servidores GNU/Linux pero debemos ser cuidadosos cuando trabajamos con él pues puede provocar que nuestros servicios dejen de funcionar por minutos o por horas.
Recomendación
Tener un servidor de pruebas donde Ud. pueda ejecutar todas las operaciones necesarias con el SELinux antes de realizarlas en un servidor de producción.
Administrar MySQL desde la línea de comandos, 17 (18)
- Cómo instalar MySQL 8.0 en Ubuntu 20.04
- Como instalar MySQL 8.0 en Debian
- Cómo instalar MariaDB en Alpine Linux
- Cómo instalar MariaDB en NetBSD
- MySQL 8.0, cambiar contraseña de root
- ¿Cómo mostrar variables del sistema en MySQL?
- Deshabilitar innodb engine en mysql
- Administrar servidor MySQL – Básico
- Motores de almacenamiento disponibles/habilitados en MySQL
- MySQL: Recuperar la clave (password) de root
- MySQL Administración de usuarios
- MySQL ejecutar script SQL
- Copias de seguridad (Backup) en MySQL
- Crear / Modificar / Eliminar tablas en MySQL
- Connectarse a MySQL desde la LAN
- Character set disponibles en MySQL
- MySQL no puede escribir en el dir /tmp
- Cómo instalar MySQL 5.7 en CentOS 7