diff options
author | Linus Heckemann <git@sphalerite.org> | 2018-11-19 20:49:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-19 20:49:08 +0100 |
commit | 388d36951c502e0f93bd42b5845e92340f44297d (patch) | |
tree | 9ea535d79fdb7f2c1b3fb35c3a075f019c7c6af5 /nixos/modules/services/databases/mysql.nix | |
parent | 3f3f6021593070330091a4a2bc785f6761bbb3c1 (diff) | |
parent | 21e9c35f5f0b3bb48bafe44f69ae6e14670c1633 (diff) | |
download | nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar.gz nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar.bz2 nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar.lz nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar.xz nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.tar.zst nixpkgs-388d36951c502e0f93bd42b5845e92340f44297d.zip |
Merge pull request #49735 from pvgoran/mysql-support-mysql57
nixos/mysql: support package=mysql57
Diffstat (limited to 'nixos/modules/services/databases/mysql.nix')
-rw-r--r-- | nixos/modules/services/databases/mysql.nix | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/nixos/modules/services/databases/mysql.nix b/nixos/modules/services/databases/mysql.nix index 5f184df34c6..0325c679773 100644 --- a/nixos/modules/services/databases/mysql.nix +++ b/nixos/modules/services/databases/mysql.nix @@ -12,12 +12,22 @@ let let pName = _p: (builtins.parseDrvName (_p.name)).name; in pName mysql == pName pkgs.mariadb; + isMysqlAtLeast57 = + let + pName = _p: (builtins.parseDrvName (_p.name)).name; + in (pName mysql == pName pkgs.mysql57) + && ((builtins.compareVersions mysql.version "5.7") >= 0); pidFile = "${cfg.pidDir}/mysqld.pid"; + mysqldAndInstallOptions = + "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql}"; mysqldOptions = - "--user=${cfg.user} --datadir=${cfg.dataDir} --basedir=${mysql} " + - "--pid-file=${pidFile}"; + "${mysqldAndInstallOptions} --pid-file=${pidFile}"; + # For MySQL 5.7+, --insecure creates the root user without password + # (earlier versions and MariaDB do this by default). + installOptions = + "${mysqldAndInstallOptions} ${lib.optionalString isMysqlAtLeast57 "--insecure"}"; myCnf = pkgs.writeText "my.cnf" '' @@ -253,7 +263,7 @@ in if ! test -e ${cfg.dataDir}/mysql; then mkdir -m 0700 -p ${cfg.dataDir} chown -R ${cfg.user} ${cfg.dataDir} - ${mysql}/bin/mysql_install_db ${mysqldOptions} + ${mysql}/bin/mysql_install_db ${installOptions} touch /tmp/mysql_init fi |