mysql仅在用户不存在时才创建用户

时间:2010-12-24 21:22:59

标签: sql mysql

我想执行CREATE USER语句,但仅在用户尚不存在时才执行 这样做的最佳方式是什么?

2 个答案:

答案 0 :(得分:59)

如果您正在创建用户,则还需要创建一个授权。如果用户不存在,则授权会隐式创建用户(这就是为什么鼓励您在创建授权时包含密码,以防它们不存在)。见http://dev.mysql.com/doc/refman/5.1/en/grant.html

因此,选项是仅创建授权(使用密码)并隐式创建用户。

例如:

GRANT ALL PRIVILEGES  ON db_name.* 
TO 'user'@'%' IDENTIFIED BY 'password' 
WITH GRANT OPTION;

答案 1 :(得分:2)

您可以从默认的mysql数据库中的“user”表中进行选择。像这样:

select *
from user
where User = 'username'

如果未返回任何结果,请创建一个新用户。