programing

mysql 사용자 생성(존재하지 않는 경우)

goodsources 2023. 1. 23. 10:14
반응형

mysql 사용자 생성(존재하지 않는 경우)

mysql 사용자 목록에 새 사용자 생성에 대한 문의가 있습니다.

IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = '{{ title }}')) = 0 THEN
    CREATE USER '{{ title }}'@'localhost' IDENTIFIED BY '{{ password }}'
END IF;

하지만 다음 오류가 발생합니다.

ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = 'cms_localhost')) = 0 ' at line 1

5.7.6 이후 버전에서는

CREATE USER IF NOT EXISTS 'user'@'localhost' IDENTIFIED BY 'password';

5.7.6 메서드는 실제로 어떠한 권한도 부여하지 않습니다.


이 기능이 있는 버전(5.7.6 이하)을 사용하고 있지 않은 경우는, 다음의 조작을 실행할 수 있습니다.

GRANT ALL ON `database`.* TO 'user'@'localhost' IDENTIFIED BY 'password';

존재하지 않는 경우 사용자가 생성됩니다.


MySQL 8을 사용하는 경우GRANT ALL메서드는 사용자를 생성하지 않습니다.

사용하고 있다

존재 선택(구분 선택)user부터mysql.user어디에user= "displayed") is_user로 표시됨

있는 경우 1을 반환하고 없는 경우 0을 반환해야 합니다.

언급URL : https://stackoverflow.com/questions/13357760/mysql-create-user-if-not-exists

반응형