Tengo un servidor Ubuntu 16.04 (VPS), instalé MariaDb 10.1 en él (¿Lo hizo como dijo el doctor?). Me gustaría configurar el servidor de la base de datos, para que innodb pueda usar entre 2 y 4 GB de memoria, así que intenté encontrar las muestras my.cnf
, /usr/share/mysql/
pero no hay ninguna (solo estos). ¿Dónde puedo encontrar las configuraciones de muestra y cómo puedo convertirlas en reales? Leí que el /etc/mysql/mysql.conf.d/
directorio debería contener un mysqld.cnf
, pero para mí solo existen estos archivos:
50-client.cnf 50-mysql-clients.cnf 50-mysqld_safe.cnf 50-server.cnf 50-server.cnf.backup
¿Cuál está activo? Mi conjetura es ninguna.
No necesito nada especial, es por eso que quería simplemente actualizarlo my-huge.cnf
y listo.
Respuesta1
Todas estas configuraciones se aplican. Aquí está la estructura completa del directorio:
$ tree -f /etc/mysql
/etc/mysql
├── /etc/mysql/conf.d
│ ├── /etc/mysql/conf.d/mariadb.cnf
│ └── /etc/mysql/conf.d/mysqld_safe_syslog.cnf
├── /etc/mysql/debian.cnf
├── /etc/mysql/debian-start
├── /etc/mysql/mariadb.conf.d
└── /etc/mysql/my.cnf
Todo comienza con /etc/mysql/my.cnf, que termina de la siguiente manera:
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
Eso significa que todos los archivos de ese directorio están incluidos. Los archivos se leen en orden alfabético, por lo que los prefijos como 50-
se utilizan para especificar el orden.
El beneficio de este sistema, que Ubuntu también usa para muchas otras configuraciones, es que las actualizaciones de los paquetes (y por lo tanto de las configuraciones predeterminadas) se pueden instalar sin entrar en conflicto con sus cambios y/o adiciones. También es útil recordar qué cambios realizó realmente en estos archivos, porque no realiza ningún cambio, solo crea archivos nuevos.