반응형
새 사용자를 만들기 위해 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
해결 방법
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
메서드는 사용자를 생성하지 않습니다.
참조 페이지 https://stackoverflow.com/questions/13357760
반응형
'MySql' 카테고리의 다른 글
MySQL 구문 분석 오류 : 구문 오류, 예기치 않은 '$ result'(T_VARIABLE) (0) | 2021.01.21 |
---|---|
MySQL PHP에서 PDO로 십진수 / 이중 / 부동 값을 바인딩하는 가장 좋은 방법은 무엇입니까? (0) | 2021.01.21 |
MySQL DBCP에서 (useUnicode = yes characterEncoding = UTF-8) 사용 방법 (0) | 2021.01.21 |
MySQL 파일을 만들거나 쓸 수 없습니다 (오류 코드 : 22). (0) | 2021.01.21 |
MySQL Python MySQldb로 레코드가 있는지 확인하는 방법 (0) | 2021.01.21 |
댓글