Inicio » Bases de datos » Optimizando bases de datos MySQL o MariaDB

Optimizando bases de datos MySQL o MariaDB

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

En el fichero /etc/my.cnf se guardan los parámetros de configuración de las bases de datos MySQL y MariaDB. Sin embargo, los valores por defecto puede que no nos sirvan y tengamos que personalizar alguno de ellos dependiendo de la capacidad de nuestro sistema y uso de nuestra base de datos.

Adjunto un ejemplo de los parámetros más interesantes que pueden mejorar el rendimiento de nuestra base de datos:

[root]# cat /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
datadir=/MySQL/data
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

# Habilitar la cache de consultas en memoria – 64MB por cada GB de RAM fisica
query_cache_type=1 # 0 desactiva cache de consultas, 1 la activa y 2 se activa bajo peticion
query_cache_size=256M
# Tamaño de cache de los indices – 32MB por cada GB de RAM fisica
key_buffer_size=128M
# Tamaño de la cache de busquedas – 1MB por cada GB de RAM fisica
sort_buffer_size=4M
# Tamaño de la cache de lecturas – 1MB por cada GB de RAM fisica
read_buffer_size=4M
# Tamaño maximo de una tabla temporal en RAM
tmp_table_size=1G
max_heap_table_size=1G # Valor recomendado igual a tmp_table_size
# Deshabilitar la resolucion de nombres por DNS. Solo por IP y no por hostname.
skip-name-resolve=1

Lenovo IdeaPad 5 - Ordenador Portátil 15.6" FullHD (AMD Ryzen 5 5500U, 16GB RAM, 512GB...
  • Pantalla de 15.6" FullHD (1920x1080) 300nits
  • Procesador AMD Ryzen 5 5500U (6C/12T, 2.1 GHz/4.04GHz, 8 MB)
  • Memoria RAM de 16GB
Rebajas
Gigabyte G34WQC - Monitor Gaming de 34'' QHD (3440x1440, 21:9, Panel VA ,144 Hz, HDMI,...
  • Tamaño de la pantalla: 34 pulgadas QHD
  • Sin destellos para previniendo la fatiga y la fatiga ocular
  • Cuenta con un soporte diseñado ergonómicamente para ofrecer una gama de ajustes de altura e inclinación

# Numero maximo de hilos en ejecucion que se pueden cachear y reusar
# 100 – ((Threads_created / Connections) * 100)
# mysql> show status like ‘Threads_created’;
# mysql> show status like ‘Connections’;
thread_cache_size=95

# Motor innodb
innodb_file_per_table=ON
innodb_buffer_pool_size=256M
innodb_log_file_size=64M
innodb_log_files_in_group=8
innodb_read_io_threads=4
innodb_write_io_threads=8 #To stress the double write buffer

# Habilitamos los logs binarios para poder restaurar datos en caso de perdida
# Ejemplo:
# mysqlbinlog mysql-bin.000001 mysql-bin.000002 mysql-bin.000003 –database=db_name –start-datetime=”2016-07-07 00:12:00″ –stop-datetime=”2016-07-07 10:35:00″ | mysql -u root -p
log-bin=mysql-bin

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

#
# include all files from the config directory
#
!includedir /etc/my.cnf.d

[root]#

También nos puede ser de mucha utilidad el script escrito en PERL  mysqltuner.pl, que analiza las estadísticas de nuestra base de datos para sugerir cambios en los parámetros de arranque de la misma para mejorar su rendimiento o seguridad.

Hosting SSD
About Author

¿Te ha gustado? Compártelo

Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email

Contenido Relacionado

Bases de datos
David Martínez Perales

Tutorial de ElasticSearch

Tabla de contenidos1 ¿Qué es ElasticSearch?2 Instalación de ElasticSearch2.1 Instalación de Java2.2 Instalación de ElasticSearch en Linux CentOS 72.2.1 Configuración

Leer más »

Artículos Recientes

Deja un comentario