Назад | Перейти на главную страницу

systemd пытается запустить MariaDB дважды (mariadb@multi-user.service vs mariadb.service)

systemd в моей системе, кажется, пытается запустить MariaDB дважды. Эта первая попытка увенчалась успехом, поэтому у моей системы нет реальных проблем, но вторая попытка создает ложные сообщения об ошибках, поскольку все соответствующие файлы были заблокированы первым экземпляром.

Насколько я могу судить, запускается один раз на mariadb@multi-user.service и один раз для mariadb.service. Результат systemctl list-units | grep -i maria является:

● mariadb.service
                        loaded failed     failed    MariaDB 10.2 database server
  mariadb@multi-user.service
                        loaded active     running   MariaDB 10.2 database server
  system-mariadb.slice
                        loaded active     active    system-mariadb.slice

я угадывать что все будет хорошо, если я скажу systemd отключить mariadb.service, но я бы предпочел не гадать.

Моя система - Fedora 28. Установленные пакеты MairaDB:

mariadb-config-10.2.16-1.fc28.x86_64
mariadb-rocksdb-engine-10.2.16-1.fc28.x86_64
mariadb-backup-10.2.16-1.fc28.x86_64
mariadb-10.2.16-1.fc28.x86_64
mariadb-cracklib-password-check-10.2.16-1.fc28.x86_64
mariadb-connector-c-3.0.5-1.fc28.x86_64
mariadb-server-10.2.16-1.fc28.x86_64
mariadb-common-10.2.16-1.fc28.x86_64
mariadb-server-utils-10.2.16-1.fc28.x86_64
mariadb-tokudb-engine-10.2.16-1.fc28.x86_64
mariadb-gssapi-server-10.2.16-1.fc28.x86_64
mariadb-errmsg-10.2.16-1.fc28.x86_64

Создаваемый единичный файл /usr/lib/systemd/system/mariadb@.service объясняет, что происходит:

# Multi instance version of mariadb. For if you run mutiple verions at once.
# Also used for mariadb@bootstrap to bootstrap Galera.
#
# To use multi instance variant, use [mysqld.INSTANCENAME] as sections in my.cnf
# and start the service via:
#       systemctl start mariadb@{instancename}.server

Итак, кто-то в прошлом сделал именно это, создав экземпляр MariaDB с именем multi-user. Это имя подсказывает мне, что это, вероятно, была ошибка, а не преднамеренная.

Решение проблемы зависит от того, хотите ли вы сохранить созданный сервис или нет. Отключите ту или иную службу, отредактируйте my.cnf соответствующим образом и перезапустите другую службу. Большинству людей не нужно создавать экземпляр MariaDB с одновременным запуском нескольких копий, и вы, вероятно, большинство людей.