MySQL에서 새로운 사용자를 생성할 때 비밀번호에 특수 문자(예: _, @, #, ! 등)를 포함하는 것은 보안을 강화하는 데 매우 중요합니다. 이 글에서는 특수 문자가 포함된 비밀번호를 설정하여 새 MySQL 사용자를 만드는 방법을 단계별로 살펴보겠습니다.
기본 문법
비밀번호에 특수 문자를 설정하려면 아래와 같은 문법을 사용합니다.
create user 'yourUserName'@'yourHostName' identified by 'yourSpecialCharacterPassword';
실제 적용 예시
위의 문법을 실제로 적용하여 새 사용자를 생성하고 특수 문자가 포함된 비밀번호를 설정해 보겠습니다.
mysql> create user 'Mike'@'localhost' identified by 'Mike_123456'; Query OK, 0 rows affected (0.35 sec)
실행 결과 Query OK 메시지가 출력되며, 언더스코어(_)라는 특수 문자가 포함된 비밀번호를 가진 새 사용자 'Mike'가 성공적으로 생성되었습니다.
생성된 사용자 확인하기
새로 만든 사용자가 정상적으로 등록되었는지 확인하려면 MySQL 시스템 데이터베이스의 user 테이블을 조회하면 됩니다. MySQL의 사용자 정보와 호스트 정보는 이 테이블에 저장됩니다.
mysql> select user,host from MySQL.user;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다. 목록 하단에서 새로 생성된 사용자 'Mike'가 localhost 호스트에 성공적으로 추가된 것을 확인할 수 있습니다.
+------------------+-----------+ | user | host | +------------------+-----------+ | Bob | % | | Charlie | % | | Robert | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam Smith | localhost | | Chris | localhost | | David | localhost | | James | localhost | | John | localhost | | John Doe | localhost | | Mike | localhost | | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+ 21 rows in set (0.00 sec)
정리
이처럼 CREATE USER 구문과 IDENTIFIED BY 절을 활용하면 특수 문자가 포함된 비밀번호를 손쉽게 설정할 수 있습니다. 참고로 비밀번호는 작은따옴표(')로 감싸주어야 하며, 특수 문자가 많을수록 보안성이 높아집니다. 또한 생성 후에는 반드시 user 테이블을 조회하여 계정이 올바르게 등록되었는지 확인하는 습관을 들이는 것이 좋습니다.