MySQL에서는 CREATE USER 명령어와 IF NOT EXISTS 옵션을 함께 사용하면, 해당 사용자가 이미 존재할 때 오류 없이 안전하게 새 사용자를 생성할 수 있습니다. 이 기능은 MySQL 5.7.6 버전 이상부터 지원됩니다.
기본 문법
사용자가 존재하지 않는 경우에만 새 사용자를 만드는 기본 문법은 다음과 같습니다.
mysql> CREATE USER IF NOT EXISTS 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';
실제 사용 예시
위 문법을 적용하여 'Smith'라는 사용자를 생성해 보겠습니다.
mysql> CREATE USER IF NOT EXISTS 'Smith'@'localhost' IDENTIFIED BY 'Smith123456'; Query OK, 0 rows affected (0.29 sec)
명령이 정상적으로 실행되면 위와 같이 Query OK 메시지가 출력됩니다. 만약 동일한 명령을 한 번 더 실행하더라도, IF NOT EXISTS 옵션 덕분에 오류 대신 경고만 발생하고 쿼리는 정상 처리됩니다.
생성된 사용자 확인하기
새 사용자가 제대로 생성되었는지 확인하려면 아래 쿼리를 실행합니다.
mysql> SELECT User FROM mysql.user;
실행 결과는 다음과 같습니다.
+------------------+ | User | +------------------+ | John | | Mac | | Manish | | mysql.infoschema | | mysql.session | | mysql.sys | | root | | Smith | | am | +------------------+ 9 rows in set (0.00 sec)
출력 결과를 보면 'Smith' 사용자가 성공적으로 생성된 것을 확인할 수 있습니다.
정리
MySQL 5.7.6 이상 환경이라면 CREATE USER 명령에 IF NOT EXISTS 옵션을 추가하는 것만으로 중복 생성 오류를 방지할 수 있습니다. 스크립트나 배포 자동화 과정에서 사용자 계정을 설정할 때 특히 유용하게 활용할 수 있습니다.