#!/bin/sh -eu tool=$(readlink -e "${0%/*}/..") . "$tool"/local/lib.sh db="$1" user="${2:-$1}" sudo -u mysql mysql -u mysql --batch --verbose <<-EOF DROP PROCEDURE IF EXISTS mysql.create_database; DELIMITER // CREATE PROCEDURE mysql.create_database (dbname VARCHAR(16), username VARCHAR(16), hostname VARCHAR(60)) BEGIN IF NOT (EXISTS (SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = dbname LIMIT 1)) THEN SET @QUERY = CONCAT("CREATE DATABASE ", dbname, " CHARACTER SET utf8 COLLATE utf8_general_ci"); PREPARE stmt FROM @QUERY; EXECUTE stmt; END IF; SET @QUERY = CONCAT("GRANT ALL PRIVILEGES ON ", dbname, ".* TO ", username, "@", hostname); PREPARE stmt FROM @QUERY; EXECUTE stmt; END; // CALL mysql.create_database('$db', '$user', 'localhost'); EOF