Variables para optimizar MySQL
En servidores dedicados se recomienda un 50% a 80% de la RAM.
innodb_log_file_size: Se debe incrementar esta variables para para mejorar el rendimiento.
innodb_flush_method: Cuando se usa controladores de RAID, es mejor usar la opción O_DIRECT. Esto previene "doble buffer", cuando no se tienen estos RAIDS es
mejor no usarlo.
innodb_flush_neighbors: Es mejor dejar el parámetro deshabilitado (0) en discos SSD, los cuales no tienen ninguna ventaja con IO secuencial.
innodb_io_capacity y innodb_io_capacity_max: Estas variables influencian cuantos trabajos background por segundo pueden haber.
innodb_lru_scan_depth: Si incrementas innodb_io_capacity, tambien se debe incrementar esta variable.
Replicación.
log-bin: Activarlo, te permite recuperar cierta información que se haya perdido, ante un daño de la base de datos.expire-logs-days: Por default los logs duran para siempre, lo recomendado seria mantenerlos de 1 a 10 dias.
server-id: Id único que se le da al servidor.
Misc.
timezone=GMT: Cambiar el timezone a un default, por lo general se usa el GMT
sql-mode: Variable para configurar algunas propiedades que le queramos dejar a la entidad. Como,
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,
NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,
NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY.
skip-name-resolve: Con esta variable podemos desahabilitar la reversa de los nombres de las conexiones.
max_connect_errors: Maximo de errores al conectarse para bloquear la conexión.
max-connections: El default es 151, pero yo por lo general uno 500 usuarios simultáneos.