LINUX.ORG.RU
решено ФорумAdmin

Вопрос по systemd + mysql

 , ,


0

1

Всем привет. Понадобился mysql-server на свежеустановленном Debian 9. Установил из репов, вроде как, все работает. Но на моменте настройки mysql-я я слегка подвис.

Насколько я помню, обычно он настраивается через /etc/mysql/my.cnf

Но в моем случае, этот файлик слегка пустоват:

/etc/mysql# ls -l
total 24
drwxr-xr-x 2 root root 4096 Jun 20 17:42 conf.d
-rw------- 1 root root  277 Jun 21 11:56 debian.cnf
-rwxr-xr-x 1 root root 1509 Jun  7 22:11 debian-start
-rw-r--r-- 1 root root  869 Jun  7 22:11 mariadb.cnf
drwxr-xr-x 2 root root 4096 Jun 21 11:55 mariadb.conf.d
lrwxrwxrwx 1 root root   24 Jun 20 17:42 my.cnf -> /etc/alternatives/my.cnf
-rw-r--r-- 1 root root  839 Jul  9  2016 my.cnf.fallback

/etc/mysql# cat my.cnf
[client-server]

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

Через ps -ax | grep mysql тоже ничего. Решил попробовать спросить у systemd, может он знает, какой файл настроек используется?

# systemctl status mysql.service
● mariadb.service - MariaDB database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-06-21 12:33:21 MSK; 47s ago
  Process: 6377 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 6374 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)
  Process: 6258 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
  Process: 6253 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 6251 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 6346 (mysqld)
   Status: "Taking your SQL requests now..."
    Tasks: 26 (limit: 4915)
   CGroup: /system.slice/mariadb.service
           └─6346 /usr/sbin/mysqld

Jun 21 12:33:19 ookd systemd[1]: Starting MariaDB database server...
Jun 21 12:33:20 ookd mysqld[6346]: 2017-06-21 12:33:20 139799975780928 [Note] /usr/sbin/mysqld (mysqld 10.1.23-MariaDB-9+deb9u1) starting as process 6346 ...
Jun 21 12:33:21 ookd systemd[1]: Started MariaDB database server.

Полез смотреть /lib/systemd/system/mariadb.service — ничего полезного.

Еще в выводе systemctl упоминается скрипт ExecStartPost=/etc/mysql/debian-start. В скрипте есть строчка MYSQL=«/usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf». Я уж было обрадовался, но нет, debian.cnf начинается с: # Automatically generated for Debian scripts. DO NOT TOUCH!

Наиболее похожим на файл с конфигом mysql выглядит /etc/mysql/mariadb.conf.d/50-server.cnf, содержащий 135 строк с комментариями и всякими настройками (где pid-файл положить, где файл сокета, bind-address, etc...).

В общем, вопрос, можно ли узнать при помощи systemd откуда сервис берет настройки при запуске? И если можно, то как?


Ответ на: комментарий от goingUp

О как. А в каком месте mysql-демон узнает о том, что надо бы конфиг из my.cnf прочитать? Или у него захардкожен путь к этому файлу?

Раньше я помню, при просмотре процессов можно было увидеть что-то типа:

/usr/sbin/mysqld --defaults-file=/home/user/.local/share/akonadi/mysql.conf --datadir=/home/user/.local/share/akonadi/db_data/ --socket=/tmp/akonadi-user.gqzbp6/mysql.socket
И из этого понять, какой конфиг оно юзает.

s3rjke ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.