Я хочу выполнить оператор CREATE USER
, но только тогда, когда пользователь еще не существует.
Каким будет лучший способ сделать это?
Mysql создает пользователя только тогда, когда пользователь не существует
Ответ 1
Если вы создаете пользователя, вам также нужно создать грант. Грант неявно создает пользователя, если он не существует (поэтому вам рекомендуется включать пароль при создании гранта, на случай, если они не существуют). см. 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;
Ответ 2
Вы можете выбрать из таблицы "пользователь" в базе данных mysql по умолчанию. Вот так:
select *
from user
where User = 'username'
Если результаты не возвращаются, создайте нового пользователя.