У меня есть сервер Ubuntu 16.04 (VPS), на нем я установил MariaDb 10.1 (сделал как сказал док). Я хотел бы настроить сервер базы данных так, чтобы innodb мог использовать 2-4 ГБ памяти, поэтому я попытался найти примеры, my.cnf
но /usr/share/mysql/
ни одного из них там нет (только эти). Где я могу найти примеры конфигураций и как сделать их актуальными? Я читал, что каталог /etc/mysql/mysql.conf.d/
должен содержать mysqld.cnf
, но у меня там есть только эти файлы:
50-client.cnf 50-mysql-clients.cnf 50-mysqld_safe.cnf 50-server.cnf 50-server.cnf.backup
Какой из них активен? Полагаю, ни один.
Мне не нужно ничего особенного, поэтому я просто хотел реализовать задуманное my-huge.cnf
и дело с концом.
решение1
Все эти конфигурации применяются. Вот полная структура каталогов:
$ 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
Все начинается с /etc/mysql/my.cnf, который заканчивается следующим образом:
#
# * 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/
Это означает, что каждый файл в этом каталоге включен. Файлы считываются в алфавитном порядке, поэтому префиксы, такие как , 50-
используются для указания порядка.
Преимущество этой системы, которую Ubuntu использует и для многих других конфигураций, заключается в том, что обновления пакетов (и, следовательно, конфигурации по умолчанию) могут быть установлены без конфликта с вашими изменениями и/или дополнениями. Также полезно помнить, какие изменения вы на самом деле внесли в эти файлы, поскольку вы не вносите никаких изменений, а только создаете новые файлы.