X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=blobdiff_plain;f=local%2Fmysql-user-create;h=50bb6d1d92199a21bb40b3c2296017ac963e7570;hp=1b234faddb1c08a20b186e6f8380f5db4f4a9370;hb=82a43a9c95892ecfa8bad1a72b490ad0bf60cd3b;hpb=0d705d8e2a919ee40866307aa3e18b1a5c4e7583 diff --git a/local/mysql-user-create b/local/mysql-user-create index 1b234fa..50bb6d1 100755 --- a/local/mysql-user-create +++ b/local/mysql-user-create @@ -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