うまくいけば、これは正しい方向にあなたを指すことができます:
http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_user
USER()
機能に関連するMySQLのウェブサイトから:
を値は、サーバへの接続時に指定したユーザー名を示します、および接続先のクライアントホスト。
私は少し違うことをする必要がありましたが、あなたと同じ分野です。私の場合、私はすべての権限を与えずに自分のユーザーにデータベースを作成する権限を与えたかったのです。
ここでは、私があなたがテンプレートとして使用できることを望むデータベースを与えるための私のストアドプロシージャです。
完全な説明については
DROP PROCEDURE IF EXISTS createdb;
DELIMITER $$
CREATE
DEFINER = 'root'@'localhost'
PROCEDURE createdb (IN dbname CHAR(50))
BEGIN
DECLARE EXIT HANDLER FOR 1007
SELECT CONCAT("Can't create database '",
dbname, "'; database exists") as msg;
SET @v_createdb = CONCAT('CREATE DATABASE ', dbname);
SET @v_grant = CONCAT('GRANT ALL PRIVILEGES ON ', dbname,
'.* TO \'',SUBSTRING_INDEX(USER(),'@',1),'\'@\'%\'');
PREPARE stmt_createdb FROM @v_createdb;
PREPARE stmt_grant FROM @v_grant;
EXECUTE stmt_createdb;
EXECUTE stmt_grant;
FLUSH PRIVILEGES;
END $$
、あなたが訪問することをお勧めしますhttp://www.microshell.com/database/how-to-grant-create-database-for-non-root-users/