Как мне запустить службу mariadb в NixOS?
На моей системе NixOS 17.09 я установил mariadb
, перечислив пакет в моем /etc/nixos/configuration.nix
а также nixos-rebuild
ING.
Двоичные файлы теперь, кажется, присутствуют, но служба базы данных mariadb, похоже, не работает. Как я могу начать это?
Я старался
$ sudo systemctl start mariadb
Failed to start mariadb.service: Unit mariadb.service not found.
$ sudo systemctl start mysql
Failed to start mysql.service: Unit mysql.service not found.
$ sudo mysqld start
2017-11-06 11:39:35 140359451949120 [Note] mysqld (mysqld 10.1.28-MariaDB) starting as process 2823 ...
2017-11-06 11:39:35 140359451949120 [Warning] Can't create test file /var/lib/mysql/nixos.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 2 "No such file or directory")
2017-11-06 11:39:35 140359451949120 [ERROR] Aborting
1 ответ
Решение
Опция NixOS services.mysql.enable
работает для запуска любой реализации MySQL (mysql-*
или же mariadb
). Какой из них начинается, определяется services.mysql.package
,
Так в вашем /etc/nixos/configuration.nix
добавлять
services.mysql.package = pkgs.mariadb;
services.mysql.enable = true;
(При этом вам даже не нужно явно перечислять mariadb
в environment.systemPackages
.)