Correction : {host,local,remote}/ : duplicity + MySQL.
[lhc/ateliers.git] / local / mysql-user-create
index 1b234fa..50bb6d1 100755 (executable)
@@ -1,6 +1,25 @@
-#!/bin/sh -eux
+#!/bin/sh -eu
+tool=$(readlink -e "${0%/*}/..")
+. "$tool"/local/lib.sh
+
 user="$1"
 sudo -u mysql mysql -u mysql --batch --verbose <<-EOF
+       DROP PROCEDURE IF EXISTS mysql.create_user;
+       DELIMITER //
+       CREATE PROCEDURE mysql.create_user (username VARCHAR(16), hostname VARCHAR(60))
+        BEGIN
+               IF NOT (EXISTS (SELECT User
+                       FROM mysql.user
+                       WHERE User = username
+                       AND   Host = hostname
+                       LIMIT 1))
+               THEN
+                       SET @QUERY = CONCAT("CREATE USER ", username, "@", hostname, " IDENTIFIED WITH auth_socket");
+                       PREPARE stmt FROM @QUERY;
+                       EXECUTE stmt;
+                END IF;
+        END;
+        //
        CALL mysql.create_user('$user', 'localhost');
        EOF
 sudo adduser "$user" mysql-data