Archivo de configuracion my.conf para base de datos MariaDB

Despues de tiempo, me atrevo a escribir aqui en mi blog, pero esta vez para hacerlo como apuntes a configuraciones que realizo en mis diferentes servidores y lo hago aqui, solo para no perder la fuente desde donde las obtengo, las cuales pueden el dia de mañana caer o borrarse.

Esta vez empezare con el tema de la configuracion a la base de datos MariaDB.

Pero empezemos sabiendo ¿que es MariaDB?

MariaDB es un sistema de gestión de bases de datos relacional (SGBDR) de código abierto muy popular. Es conocido por ser una bifurcación de MySQL, lo que significa que fue creado por el fundador original de MySQL y un equipo de desarrolladores con el objetivo de que siguiera siendo gratuito y de código abierto.

Algunas de las características clave de MariaDB incluyen:

  • Alta compatibilidad con MySQL: MariaDB está diseñado para ser altamente compatible con MySQL, lo que significa que la mayoría de las aplicaciones y herramientas que funcionan con MySQL también funcionarán con MariaDB. En muchos casos, puede reemplazar a MySQL como un reemplazo directo sin necesidad de grandes modificaciones.
  • Código abierto y gratuito: MariaDB está licenciado bajo la Licencia Pública General GNU (GPLv2), lo que significa que es gratuito de usar y modificar. Esto lo hace una opción atractiva para usuarios individuales y empresas que buscan una solución de base de datos rentable.
  • Rendimiento y escalabilidad: MariaDB está diseñado para ser un sistema de base de datos de alto rendimiento y escalable. Puede manejar grandes cantidades de datos y usuarios concurrentes, lo que lo convierte en una buena opción para aplicaciones web y empresariales.
  • Innovación continua: El equipo de desarrollo de MariaDB está constantemente trabajando para agregar nuevas funciones y mejorar el rendimiento. Esto ayuda a garantizar que MariaDB se mantenga a la vanguardia de la tecnología de bases de datos.

Ahora vamos por lo que me interesa mas a mi. El archivo de configuracion my.conf:

El archivo my.cnf es el archivo de configuración principal para MariaDB (y también para MySQL). Sirve para definir cómo se ejecuta el servidor de MariaDB y cómo se conectan los clientes de MariaDB.

El archivo my.cnf contiene varias secciones, cada una de las cuales define configuraciones para diferentes aspectos de MariaDB. Algunas secciones comunes incluyen:

  • [client]: Esta sección define las opciones de configuración para los clientes de MariaDB, como el host del servidor, el puerto y el nombre de usuario.
  • [mysqld]: Esta sección define las opciones de configuración para el servidor MariaDB, como el puerto de escucha, el directorio de datos y los límites de memoria.
  • [server]: Esta sección es un alias para la sección [mysqld].

Puede haber otras secciones específicas según la configuración de tu MariaDB.

Típicamente, el archivo my.cnf se encuentra en una de las siguientes ubicaciones:

  • /etc/my.cnf (en sistemas operativos tipo Unix)
  • /etc/mysql/my.cnf (en algunas distribuciones de Linux)
  • Carpeta de datos de MariaDB (si se especifica con la variable de entorno MYSQL_HOME)
  • Directorio del usuario actual (~/.my.cnf)

Bueno, despues de esta informacion, dejo aqui la configuracion que suelo utilizar en mis servidores para las conexiones a la base de datos MariaDB en Plesk:

#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]

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

[mysqld]
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
bind-address = 127.0.0.1
local-infile=0
innodb_buffer_pool_size=512M
innodb_log_file_size=512M
innodb_flush_method=O_DIRECT
innodb_read_io_threads=4
innodb_write_io_threads=4
innodb_flush_log_at_trx_commit=0
thread_cache_size=1000
query_cache_size = 0
max_connections=600
sort_buffer_size = 1M
join_buffer_size = 1M

[mysqldump]
max_allowed_packet=50M

[mysql]
default_character_set=utf8mb4

# Ajustes de memoria
#key_buffer_size=256M
max_allowed_packet=64M
#table_open_cache=1024