Linux

Crear un ramdisk (tmpfs) para MySQL

En esta entrada voy a explicar como utilizar la memoria RAM de nuestro servidor como ramdisk y configurar el tmp de MySQL en dicha memoria. Esta configuración permitirá acelerar las queries que escriben una tabla temporal, pero debemos tener en cuenta que si tenemos problemas en algunas queries, primero hay que analizar y optimizar las mismas, y además, que al crear este ramdisk debemos ser conscientes de que perderemos memoria libre.

 

(más…)

Por Daniel, hace
Linux

Optimización de rendimiento en tablas MyISAM

En alguna otra entrada ya he comentado que InnoDB debería ser el motor que utilicemos en la gran mayoría de casos, pues tiene muchas ventajas sobre otros motores como MyISAM. No obstante, en algunos casos debemos mantener tablas con MyISAM por razones de rendimiento.

Si se da esta situación, nos interesa optimizar MySQL al máximo para ofrecer el mejor rendimiento sobre estas tablas. Lamentablemente, MyISAM no permite (al contrario que InnoDB) realizar caché o buffer de los datos de las tablas, por lo que las posibilidades de optimización de estas tablas son muy limitadas. Aún así, voy a explicarlos las dos posibles optimizaciones posibles.

(más…)

Por Daniel, hace
Linux

MySQL es accesible sin contraseña con root tras instalarlo

En ocasiones, tras instalar MySQL/MariaDB, la instalación nos crea el usuario root de MySQL siendo accesible sin contraseña e incluso desde cualquier Host. Si bien generalmente esta situación se observa tras una nueva instalación, por lo que se entiende que aún nuestro servidor no está en producción, no hace falta que decir esto es un agujero de seguridad gravísimo y que hay que solucionarlo.

Para ello, hay que actualizar el usuario root para que solicite contraseña y realizar una instalación de MySQL segura.

(más…)

Por Daniel, hace
Linux

Matar todas las queries de un usuario en concreto

En esta entrada voy a explicar como obtener todas las queries de un usuario en concreto para proceder a matar las mismas. Esto puede ser útil en caso de tener, por ejemplo, un update grande en proceso y observar muchas queries de un usuario en concreto bloqueadas a la espera de que termine. Tenemos que estar muy seguros de que queremos matar estas queries, pues el comando sacará todas las queries de dicho usuario.

Por Daniel, hace