sql >> Base de Datos >  >> RDS >> Mysql

15 consejos útiles de ajuste y optimización del rendimiento de MySQL/MariaDB

MySQL es un potente sistema de gestión de bases de datos relacionales de código abierto o en resumen RDBMS . Fue lanzado en 1995 (20 años). Utiliza lenguaje de consulta estructurado que es probablemente la opción más popular para administrar contenido dentro de una base de datos. La última versión de MySQL es 5.6.25 y fue lanzado el 29 de mayo de 2015 .

Un hecho interesante sobre MySQL es el hecho de que el nombre proviene de Michael Widenius's (Creador de MySQL) hija Mi. Incluso aunque hay muchos datos interesantes sobre MySQL, este artículo pretende mostrarle algunas prácticas útiles para ayudarlo a administrar su servidor MySQL.

En abril de 2009 Oracle compró el proyecto MySQL. Como resultado, una bifurcación de la comunidad MySQL llamada MariaDB fue creado. La razón principal para crear la bifurcación fue mantener el proyecto libre bajo la Licencia Pública General.

Hoy MySQL y MariaDB son uno de los RDBMS más utilizados (si no el más) utilizados para aplicaciones web como WordPress , Joomla , Magento y otros.

Este artículo le mostrará algunos consejos básicos pero útiles sobre cómo optimizar y ajustar el rendimiento de MySQL/MariaDB. Tenga en cuenta que este artículo asume que ya tiene instalado MySQL o MariaDB. Si aún se pregunta cómo instalarlos en su sistema, puede seguir nuestras extensas guías aquí:

  1. Instalación de LAMP en RHEL/CentOS 7
  2. Instalación de LAMP en Fedora 22
  3. Configuración de LAMP en Ubuntu 15.04
  4. Instalación de MariaDB en Debian 8
  5. Instalar MariaDB en Gentoo Linux
  6. Instalar MariaDB en Arch Linux

Importante :Antes de comenzar, no acepte estas sugerencias a ciegas. Cada configuración de MySQL es única y requiere una reflexión adicional antes de realizar cualquier cambio.

Cosas que necesitas saber:

  1. El archivo de configuración de MySQL/MariaDB se encuentra en /etc/my.cnf . Cada vez que modifique este archivo, deberá reiniciar el servicio MySQL para que los nuevos cambios surtan efecto.
  2. Por escribir este artículo MySQL versión 5.6 se ha utilizado como plantilla.

1. Habilitar archivo por tabla de InnoDB

Primero es importante explicar que InnoDB es un motor de almacenamiento. MySQL y MariaDB usan InnoDB como motor de almacenamiento predeterminado. En el pasado, MySQL solía mantener las tablas y los índices de la base de datos en un espacio de tablas del sistema. Este enfoque estaba destinado a servidores cuyo único propósito es el procesamiento de bases de datos y su disco de almacenamiento no se usa para ningún otro propósito.

InnoDB proporciona un enfoque más flexible y la información de cada base de datos se guarda en un .ibd archivo de datos. Cada .ibd El archivo representa un tablespace propio. De esa forma, operaciones de base de datos como “TRUNCATE ” se puede completar más rápido y también puede recuperar el espacio no utilizado al eliminar o truncar una tabla de base de datos.

Otro beneficio de esta configuración es el hecho de que puede mantener algunas de las tablas de la base de datos en un dispositivo de almacenamiento separado. Esto puede mejorar en gran medida la E/S cargar en sus discos.

El innodb_file_per_table está habilitado de forma predeterminada en MySQL 5.6 y superior. Puede verlo en /etc/my.cnf expediente. La directiva se ve así:

innodb_file_per_table=1

2. Almacene los datos de la base de datos MySQL en una partición separada

Nota :Esta configuración solo funciona con MySQL, pero no con MariaDB.

A veces, la lectura/escritura del sistema operativo puede ralentizar el rendimiento de su servidor MySQL, especialmente si se encuentra en el mismo disco duro. En su lugar, recomendaría usar un disco duro separado (preferiblemente SSD) para el servicio MySQL.

Para completarlo, deberá conectar la nueva unidad a su computadora/servidor. A los efectos de este artículo, supondré que la unidad estará en /dev/sdb .

El siguiente paso es preparar la nueva unidad:

# fdisk /dev/sdb

Ahora presiona “n ” para crear una nueva partición. A continuación, presione "p ” para hacer que la nueva partición sea primaria. Después de eso, configure el número de partición de 1-4 . Después de eso, seleccionará el tamaño de la partición. Presiona enter aquí. En el siguiente paso, deberá configurar el tamaño de la partición.

Si desea usar todo el disco, presione enter una vez más. De lo contrario, puede configurar manualmente el tamaño de la nueva partición. Cuando esté listo, presione "w ” para escribir los cambios. Ahora necesitaremos crear un sistema de archivos para nuestra nueva partición. Esto se puede hacer fácilmente con:

# mkfs.ext4 /dev/sdb1

Ahora montaremos nuestra nueva partición en una carpeta. He llamado a mi carpeta "ssd ” y creado en el directorio raíz:

# mkdir /ssd/

Estamos listos para montar la nueva partición que acabamos de hacer en la nueva carpeta:

# mount /dev/sdb1  /ssd/

Puede realizar el montaje al inicio agregando la siguiente línea en /etc/fstab archivo.

/dev/sdb1 /ssd ext3 defaults 0 0

Ahora está listo para mover MySQL al nuevo disco. Primero detenga el servicio MySQL con:

# service mysqld stop

Le recomendaría detener Apache/nginx también para evitar cualquier intento de escribir en las bases de datos:

# service httpd stop
# service nginx stop

Ahora copie todo el directorio MySQL en la nueva unidad:

# cp /var/lib/mysql /ssd/ -Rp

Esto puede tomar un tiempo dependiendo del sitio de sus bases de datos MySQL. Una vez que se complete este proceso, cambie el nombre del directorio MySQL:

# mv /var/lib/mysql /var/lib/mysql-backup

A continuación, crearemos un enlace simbólico.

# ln -s /ssd/mysql /var/lib/mysql

Ahora está listo para iniciar su servicio web y MySQL:

# service mysqld start
# service httpd start
# service nginx start

En este punto, se accederá a sus bases de datos MySQL desde la nueva unidad.

Páginas:1 2 3 4