anotaciones que no quiero recordar, ni olvidar

me

Volar con tmpfs de MySQL en RAM, y como verificar si funciona, y si no arreglarlo: apparmor

Ratio: 5 / 5

Iniciar activoIniciar activoIniciar activoIniciar activoIniciar activo
 

Bueno, hay muchos tutoriales de como hacer la primera parte, pero lo que suele fallar es la segunda y la gente ni lo sabe. Así que si ya has hecho esto primero, ves a la segunda parte.

1ª Parte:
Crea una carpeta para montarla en RAM y dale permisos de MySQL:

Mostrar/Ocultar código bash

Ver código
mkdir -m 0770 /var/tmp/mysql
chown mysql:mysql /var/tmp/mysql

Haz que se monte en ram con cada reinicio o mount -a, entrando en:

Mostrar/Ocultar código bash

Ver código
vim /etc/fstab

y poniendo porejemplo 4GB de ram (ojo con no pasarte ni quedarte corto):

Mostrar/Ocultar código bash

Ver código
tmpfs   /var/tmp/mysql  tmpfs   rw,uid=102,gid=105,size=4G,nr_inodes=10k,mode=0700      0       0

para la línea de arriba, si no sabes si tu usuario y grupo de mysql son 102 y 105, míralo con esto:

Mostrar/Ocultar código bash

Ver código
id mysql

Indica en la configuración mysql la ruta:

Mostrar/Ocultar código bash

Ver código
vim /etc/mysql/my.cnf

y pon dentro (si no está ya):

Mostrar/Ocultar código bash

Ver código
tmpdir=/var/tmp/mysql/

Ya puedes :

Mostrar/Ocultar código bash

Ver código
mount -a
 
 
service mysql restart

 

2ª Parte:

Comprueba si se escriben archivos en esa carpeta, en vivo, con este comando (desaparecen pronto):

Mostrar/Ocultar código bash

Ver código
watch --interval=1 "ls -laht /var/tmp/mysql"

Si no es así, permite en apparmor que mysql pueda escribir con:

Mostrar/Ocultar código bash

Ver código
ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/usr.sbin.mysqld
service apparmor restart

Compruébalo de nuevo y fin.