X-Git-Url: https://git.cyclocoop.org/?p=lhc%2Fateliers.git;a=blobdiff_plain;f=local%2Fmysql-user-create;h=50bb6d1d92199a21bb40b3c2296017ac963e7570;hp=1b234faddb1c08a20b186e6f8380f5db4f4a9370;hb=344f65c397f046293ed2e5aa2b9dcd49337bdd71;hpb=3ad6118386977e346d81042e924e5db9c5f15b7d 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