MySQL 사용자 생성 스크립트란?
MySQL에서 새로운 사용자를 추가하려면 CREATE USER 명령어를 사용하여 사용자 계정과 비밀번호를 먼저 생성해야 합니다. 기본 문법은 다음과 같습니다.
CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';
이어서 특정 데이터베이스에 대한 모든 권한을 해당 사용자에게 부여하려면 GRANT 명령어를 사용합니다. 문법은 아래와 같습니다.
GRANT ALL PRIVILEGES ON yourDatabaseName . * TO 'yourUserName'@'localhost';
위의 두 가지 문법을 실제로 적용하여 사용자를 생성하고 권한을 부여하는 과정을 단계별로 살펴보겠습니다.
1단계: 사용자 생성하기
새로운 사용자를 만들기 위한 쿼리는 다음과 같습니다.
mysql> create user 'Adam Smith'@'localhost' IDENTIFIED BY 'Adam123456'; Query OK, 0 rows affected (0.29 sec)
쿼리가 성공적으로 실행되면 "Query OK" 메시지와 함께 사용자가 생성됩니다.
2단계: 사용자에게 모든 권한 부여하기
생성된 사용자에게 특정 데이터베이스(test)에 대한 모든 권한을 부여하는 쿼리는 다음과 같습니다.
mysql> GRANT ALL PRIVILEGES ON test . * TO 'Adam Smith'@'localhost'; Query OK, 0 rows affected (0.19 sec)
사용자 생성 여부 확인하기
사용자가 정상적으로 생성되었는지 교차 검증하려면 MySQL.user 테이블을 조회하면 됩니다. 확인 쿼리는 다음과 같습니다.
mysql> select user,host from MySQL.user;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+------------------+-----------+ | user | host | +------------------+-----------+ | Manish | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | Adam Smith | localhost | | User1 | localhost | | am | localhost | +------------------+-----------+ 9 rows in set (0.00 sec)
출력 결과를 보면 'Adam Smith' 사용자가 host 값 'localhost'와 함께 MySQL.user 테이블에 정상적으로 등록된 것을 확인할 수 있습니다. 이처럼 CREATE USER와 GRANT 명령어 두 단계만 거치면 손쉽게 새로운 데이터베이스 사용자를 생성하고 필요한 권한을 관리할 수 있습니다.