zaLinux.ru

Как определить расположение и имя конфигурационного файла MySQL (MariaDB). Как узнать название групп для конфигурационных файлов MySQL и MariaDB


Конфигурационные файлы MySQL и MariaDB

Некоторые полезные настройки, улучшающие производительность труда или решающие возникшие проблемы, нужно сохранить в конфигурационные файлы. Но вы можете столкнуться с ситуацией, что какое-то онлайн руководство рекомендует сохранить настройки в файл расположенный в определённой директории, а в вашей Linux этот файл или даже вся директория отсутствуют. Путаница ещё больше увеличивается из-за распространения как MySQL, так и форка под названием MariaDB, который во многом повторяет исходную СУБД, но при этом имеет свои нюансы.

Как поступить в этом случае? Нужно ли создавать новую директорию и файлы для настроек MySQL и MariaDB? Как различаются название групп для конфигурационных файлов в MySQL и MariaDB? Данная статья ответит на все эти вопросы.

Указать опции программы MySQL и MariaDB вы можете несколькими способами, например, в строке команды, в переменных окружения, в файлах настроек. Имеется приоритет опций указанных разными способами, подробнее об этом вы можете почитать по ссылке: https://dev.mysql.com/doc/refman/8.1/en/option-files.html

В данной заметке мы коснёмся только файлов с настройками.

Как узнать, где находится файл настроек MySQL (MariaDB)

Программы MySQL (MariaDB) показывают расположение конфигурационных файлов в первых строках при выводе справки:

mysql --help

mariadb --help

Пример вывода:

Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf

Пример вывода на другой версии Linux:

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf

Как вы можете увидеть, MySQL и MariaDB используют сразу несколько конфигурационных файлов. Вы также могли обратить внимание на ремарку, что файлы считываются в перечисленном порядке — это важно в том случае, если файлы содержат взаимоисключающие настройки одних и тех же опций.


Напомним, что символ «~» обозначает домашнюю директорию текущего пользователя.

На самом деле файлов настройки обычно ещё больше, поскольку уже указанные файлы могут содержать директиву «include», например:

!includedir /etc/my.cnf.d

Если указана директория (как в примере выше), то будут считаны настройки из всех файлов *.cnf из указанной директории.

Также может быть указан определённый файл:

!include /home/mydir/myopt.cnf

Как узнать имена групп для файлов настроек MySQL и MariaDB

В пакеты MySQL и MariaDB кроме основных службы и клиента входит ещё довольно много программ. MySQL и MariaDB позволяют сочетать в одном конфигурационном файле настройки для разных утилит. Чтобы программы правильно определяли, какие настройки кому принадлежат, используются имена групп внутри файлов, например:

[client]

[mysql]

[mysqld]

[mysqld-8.1]

[mysqldump]

Имена групп для MySQL и MariaDB различаются. Чтобы узнать, какие имена групп использует ваш вариант СУБД, запустите справку и обратите внимание на первые строки вывода:

mysql --help

mariadb --help

Пример вывода:

The following groups are read: mysql mariadb-client client client-server client-mariadb

То при настройке клиента и сервера данного варианта СУБД можно использовать следующие имена групп настроек:


[mysql]

[mariadb-client]

[client]

[client-server]

[client-mariadb]

Обратите внимание, что показаны имена групп только для клиента и только для сервера MySQL / MariaDB. Даже если они не перечислены, вы также можете использовать имена групп включающие имена других программ, например:

[mysqldump]

[mysqladmin]

Рекомендуемые статьи:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *