Подтвердить что ты не робот

Mysql создает пользователя только тогда, когда пользователь не существует

Я хочу выполнить оператор CREATE USER, но только тогда, когда пользователь еще не существует.
Каким будет лучший способ сделать это?

4b9b3361

Ответ 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'

Если результаты не возвращаются, создайте нового пользователя.