Existe un script programado en Perl que sirve para mejorar el rendimiento de MySQL (y otros motores de bases de datos) comprobando algunas características e indicando cuáles cosas se pueden mejorar para que nuestra instalación de MySQL sea más rápida y estable.

El script del que hablo se llama MySQLTuner y es totalmente gratuito de usar, fácil de instalar, open source (aquí el repositorio) y muy útil. No modifica nada, pero indica qué se podría modificar y mejorar.

Vamos a ver cómo descargarlo, ejecutarlo y usarlo en Linux Ubuntu Server, aunque también aplica para otros servidores que tengan el motor de base de datos de MySQL.

Descargar MySQLTuner

Para descargarlo, simplemente se necesita tener una conexión a internet. Al final de todo es un archivo de código fuente de Perl disponible en internet a través de un servidor HTTP, por lo que se puede obtener con wget:

wget http://mysqltuner.pl/ -O mysqltuner.pl

Si no puedes usar wget, simplemente visita la página http://mysqltuner.pl/ (que te redirige al archivo), copia el código y pégalo en un archivo con extensión .pl.

Descargar MySQLTuner para comprobar instalación de MySQL en Linux

Descargar MySQLTuner para comprobar instalación de MySQL en Linux

También necesitas Perl, pero tranquilo, que ya viene instalado en muchas distribuciones de Linux.

Ejecutar script de MySQLTuner para mejorar instalación de MySQL

Cuando se haya descargado, ejecuta:

perl mysqltuner.pl

Si el archivo tiene un nombre distinto, simplemente cámbialo. Al inicio pedirá usuario y contraseña (de MySQL, no del sistema operativo); recomiendo poner los de root o los de un usuario que tenga acceso administrativo.

Ejecutar con Perl el archivo MySQLTuner

Ejecutar con Perl el archivo MySQLTuner

La contraseña no se muestra. Ahí dejamos que el script haga lo suyo y dependiendo de nuestra instalación va a mostrar distintas cosas o mejoras que podemos hacer (el script sólo reporta, no cambia nada).

Un ejemplo de la salida es la siguiente:

Analicemos un poco los apartados, pues si analizamos cada recomendación o reporte tardaríamos mucho y cambiaría dependiendo del escenario.

Secciones del reporte de MySQLTuner

A modo general, lo que inicia con OK está bien, aquello que tiene dos guiones medios -- es neutro y finalmente si tiene dos signos de admiración !! es porque algo no anda mal.

Storage Engine Statistics

Esto indica las estadísticas del almacenamiento. Si tenemos algunas tablas fragmentadas aquí se mostrará.

Security Recommendations

Seguridad en nuestra base de datos. En el ejemplo de salida muestra que está bien que no haya usuarios anónimos, y que todas las bases de datos están protegidas con contraseña.

CVE Security Recommendations

La salida no muestra nada porque no proporcionamos un archivo de las vulnerabilidades de CVE, algo así como una forma de saber las vulnerabilidades encontradas.

Performance Metrics

Las métricas del rendimiento. Aquí muestra cuánta RAM podría llegar a usar MySQL en caso de estar muy ocupado; algunas veces indica cuánto porcentaje de toda la memoria está usando.

Recommendations

El apartado de recomendaciones podría decirse que es el más amigable para el usuario. Indica qué cosas deberíamos hacer, así como las variables que se deberían ajustar.

A dónde ir después de aquí

Si eres un experto en bases de datos puedes configurar las variables y ajustar las demás cosas que el script te haya recomendado; si estás probando puedes investigar más sobre el ajuste arrojado.

Recuerda que no debes mover las cosas del servidor si no sabes lo que estás haciendo.

Por cierto, entre más tiempo de uso tenga nuestro servidor, mejores métricas se arrojarán; por lo que no hace daño ir ejecutando este script de vez en cuando.

Estoy interesado en trabajar contigo de manera remota para llevar tu idea a la realidad, formar parte de tu equipo de desarrolladores, ayudarte con tu tarea, dar asesorías y todo lo relacionado con tecnología y programación. Contáctame para más información
No te vayas sin seguirme en Twitter, Facebook y GitHub
Si tienes dudas déjalas en un comentario, pero asegúrate de seguirme antes como agradecimiento (no te cuesta nada y me ayudas mucho)


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

1 Comment

Instalar y configurar MySQL 5.7 en Linux Ubuntu - Parzibyte's blog · febrero 5, 2019 a las 5:00 am

[…] abrirá un asistente (me parece que es un script de perl, como MySQLTuner) que nos guiará a asegurar nuestro […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: