aboutsummaryrefslogtreecommitdiff
path: root/modules/apps
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2016-10-20 13:27:00 +0300
committerIgor Pashev <pashev.igor@gmail.com>2016-10-20 13:27:00 +0300
commit4f038741c388c88b0bbbc163ee62ccd44a720172 (patch)
treee2225513ba6b7a527096101d44bbca53761bf4ab /modules/apps
parentc2a6fbf6db665f1da2a9ee0e559868c85fd51197 (diff)
downloadnixsap-4f038741c388c88b0bbbc163ee62ccd44a720172.tar.gz
mariadb: avoid editting mysql tables
Diffstat (limited to 'modules/apps')
-rw-r--r--modules/apps/mariadb/default.nix18
1 files changed, 11 insertions, 7 deletions
diff --git a/modules/apps/mariadb/default.nix b/modules/apps/mariadb/default.nix
index 4574be6..058eaa8 100644
--- a/modules/apps/mariadb/default.nix
+++ b/modules/apps/mariadb/default.nix
@@ -134,18 +134,22 @@ let
mysql_upgrade --user=${cfg.user}
mysql_tzinfo_to_sql "$TZDIR" | mysql mysql
mysql mysql < ${./procedures.sql}
- cat <<'__SQL__' | mysql
+
+ cat <<'__SQL__' | mysql -N mysql | mysql -v mysql
+ SELECT CONCAT("DROP USER IF EXISTS '", User, "'@'", Host, "';")
+ FROM user
+ WHERE User IN ('root', ${"''"})
+ OR (User='${cfg.user}' AND Host <> 'localhost')
+ ;
+ __SQL__
+
+ cat <<'__SQL__' | mysql -v mysql
DROP DATABASE IF EXISTS test;
- DELETE FROM mysql.db WHERE Db='test' OR Db='test%';
- DELETE FROM mysql.user WHERE User='${cfg.user}' AND Host NOT IN ('localhost');
- DELETE FROM mysql.user WHERE User=${"''"};
- DELETE FROM mysql.user WHERE User='root';
- DELETE FROM mysql.proxies_priv WHERE User='root';
- FLUSH PRIVILEGES;
${concatMapStrings (db: ''
CREATE DATABASE IF NOT EXISTS `${db}`;
'') cfg.databases}
__SQL__
+
${optionalString hasMasters "mysql -e 'START ALL SLAVES'"}
'';