MySQL에는 현재 몇 명의 사용자가 등록되어 있는지 확인하려면 mysql.user 테이블을 조회하면 됩니다. 아래 문법을 사용하면 MySQL에 존재하는 모든 사용자 목록을 확인할 수 있습니다.
mysql> SELECT User FROM mysql.user;
위 쿼리를 실행하면 다음과 같이 사용자 목록이 출력됩니다.
+------------------+ | User | +------------------+ | Mac | | Manish | | mysql.infoschema | | mysql.session | | mysql.sys | | root | | Smith | | am | +------------------+ 8 rows in set (0.00 sec)
DROP USER IF EXISTS로 사용자 삭제하기
사용자 목록을 확인한 뒤, 해당 사용자가 존재할 경우에만 안전하게 삭제하려면 DROP USER IF EXISTS 구문을 사용합니다. 이 구문은 대상 사용자가 없어도 오류를 발생시키지 않기 때문에 스크립트나 자동화 작업에서 특히 유용합니다.
MySQL에서 사용자를 삭제하는 기본 문법은 다음과 같습니다.
DROP USER IF EXISTS yourUserName;
실제 예제로 사용자 'Mac'을 삭제해 보겠습니다. 아래와 같이 쿼리를 실행하면 됩니다.
mysql> DROP USER IF EXISTS Mac; Query OK, 0 rows affected (0.11 sec)
삭제 결과 확인하기
사용자 'Mac'이 정상적으로 삭제되었는지 확인하려면 다시 mysql.user 테이블을 조회합니다.
mysql> SELECT User FROM mysql.user;
실행 결과를 보면 사용자 'Mac'이 성공적으로 삭제되었음을 확인할 수 있습니다.
+------------------+ | User | +------------------+ | Manish | | mysql.infoschema | | mysql.session | | mysql.sys | | root | | Smith | | am | +------------------+ 7 rows in set (0.00 sec)
이처럼 SELECT User FROM mysql.user;로 사용자 존재 여부를 먼저 파악하고, DROP USER IF EXISTS 구문으로 조건부 삭제를 수행하면 존재하지 않는 사용자를 삭제하려다 발생할 수 있는 오류를 예방할 수 있습니다.