Saltar al contenido

Optimizar Mysql

MySQLTuner este escript accede a tu instalación de mysql, chequea la misma y te ofrece sugerencias para incrimentar y optimizar el rendimiento de tu servidor mysql asegurando su estabilidad.

  1. Baja el script MySQLTuner :

     
    wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
    
  2. Cambia el permiso del script para ser ejecutable:

     
    chmod +x mysqltuner.pl
    
  3. Ejecuta mysqltuner.pl . Veras que te pide acceso administrativo tendras que poner la pass de administrador:

     
    ./mysqltuner.pl
    
  4. El script te va a mostrar algo como esto o similar:

     
    
             >>  MySQLTuner 1.4.0 - Major Hayden 
             >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/
             >>  Run with '--help' for additional options and output filtering
            Please enter your MySQL administrative login: root
            Please enter your MySQL administrative password:
            [OK] Currently running supported MySQL version 5.5.41-0+wheezy1
            [OK] Operating on 64-bit architecture
    
            -------- Storage Engine Statistics -------------------------------------------
            [--] Status: +ARCHIVE +BLACKHOLE +CSV -FEDERATED +InnoDB +MRG_MYISAM
            [--] Data in InnoDB tables: 1M (Tables: 11)
            [--] Data in PERFORMANCE_SCHEMA tables: 0B (Tables: 17)
            [!!] Total fragmented tables: 11
    
            -------- Security Recommendations  -------------------------------------------
            [OK] All database users have passwords assigned
    
            -------- Performance Metrics -------------------------------------------------
            [--] Up for: 47s (113 q [2.404 qps], 42 conn, TX: 19K, RX: 7K)
            [--] Reads / Writes: 100% / 0%
            [--] Total buffers: 192.0M global + 2.7M per thread (151 max threads)
            [OK] Maximum possible memory usage: 597.8M (60% of installed RAM)
            [OK] Slow queries: 0% (0/113)
            [OK] Highest usage of available connections: 0% (1/151)
            [OK] Key buffer size / total MyISAM indexes: 16.0M/99.0K
            [!!] Query cache efficiency: 0.0% (0 cached / 71 selects)
            [OK] Query cache prunes per day: 0
            [OK] Temporary tables created on disk: 25% (54 on disk / 213 total)
            [OK] Thread cache hit rate: 97% (1 created / 42 connections)
            [OK] Table cache hit rate: 24% (52 open / 215 opened)
            [OK] Open file limit used: 4% (48/1K)
            [OK] Table locks acquired immediately: 100% (62 immediate / 62 locks)
            [OK] InnoDB buffer pool / data size: 128.0M/1.2M
            [OK] InnoDB log waits: 0
            -------- Recommendations -----------------------------------------------------
            General recommendations:
                Run OPTIMIZE TABLE to defragment tables for better performance
                Enable the slow query log to troubleshoot bad queries
            Variables to adjust:
                query_cache_limit (> 1M, or use smaller result sets)
          

    MySQLTuner ofrece sugerencias sobre cómo mejorar el rendimiento de la base de datos. Si desconfía de actualizar su base de datos por su cuenta, seguir las sugerencias de MySQLTuner es una de las formas más seguras de mejorar el rendimiento de su base de datos.

Tuneando MySQL

Antes de cambiar la configuración de MySQL, este avisará de los cambios y cómo afectan su base de datos. Incluso cuando se siguen las instrucciones de programas como MySQLTuner, es mejor tener cierta comprensión del proceso.

El archivo de configuración de MySQL está en la siguiente ubicación: /etc/mysql/my.cnf.

Nota

Antes de nada cree un backup de su archivo my.cnf file:

 
cp /etc/mysql/my.cnf ~/my.cnf.backup

Sugiero que realice pequeños cambios, uno a la vez, y luego supervise el servidor después de cada cambio. Debe reiniciar MySQL después de cada cambio:

Para distribuciones que usan systemd:

 
systemctl restart mysqld

Para distribuciones con diferente init systems:

 
service mysql restart

Al cambiar los valores en el archivo my.cnf, asegúrese de que la línea que está cambiando no haya sido comentada con el prefijo de comentario (#).