周五接到开发朋友的一个小求助,需要在MySQL 测试环境创建一个自动创建用户的存储过程,要求帮忙编写一下。 
MySQL version 5.5.17 
OS version CentOS 6.4 
存储过程内容如下:

DELIMITER //
CREATE PROCEDURE cr_user(IN p_uname VARCHAR(20), IN p_passwd VARACHAR(200))
BEGIN
DECALRE p_sqlt VARCHAR(1000);
SET p_sqlt = concat('create user ', p_uname, ' identified by \'', p_passwd, '\' ');
SET @cr_sentence = p_sqlt;
PREPARE  ec1 FROM @cr_sentence;
EXECUTE ec1;
END//
DELIMITER ;

拥有执行且具有创建用户权限的用户调用此函数即可创建相应用户。