MySQL에서 다른 사용자 계정으로 로그인하려면 mysql -u -p 명령어를 사용해야 합니다. 이 글에서는 새로운 사용자를 생성하고, 필요한 권한을 부여한 뒤, 해당 계정으로 실제 로그인하는 전체 과정을 단계별로 자세히 살펴보겠습니다.
MySQL 로그인 기본 문법
다른 사용자로 로그인할 때 사용하는 기본 문법은 다음과 같습니다.
>mysql -u yourUsername -p 엔터 키를 누르면 아래와 같이 표시됩니다. Enter password:
-u 옵션 뒤에는 접속하려는 사용자 이름을 입력하고, -p 옵션은 비밀번호를 입력받기 위한 것입니다. 엔터 키를 누르면 비밀번호 입력 창이 나타납니다.
새로운 사용자 생성하기
위 문법을 제대로 이해하기 위해 먼저 MySQL에 새로운 사용자를 생성해 보겠습니다. 사용자 생성 시 사용하는 기본 문법은 다음과 같습니다.
CREATE USER 'yourUserName'@'localhost' IDENTIFIED BY 'yourPassword';
이제 사용자 이름은 'John', 비밀번호는 'john123456'으로 지정하여 실제 사용자를 생성해 보겠습니다. 실행 쿼리는 다음과 같습니다.
mysql> CREATE USER 'John'@'localhost' IDENTIFIED BY 'john123456'; Query OK, 0 rows affected (0.15 sec)
사용자가 정상적으로 생성되었는지 확인하기
사용자가 성공적으로 생성되었는지 확인하려면 MySQL.user 테이블을 조회하면 됩니다. 모든 사용자 목록을 출력하는 쿼리는 다음과 같습니다.
mysql> select user from mysql.user;
실행 결과는 다음과 같습니다.
+------------------+ | user | +------------------+ | Manish | | User2 | | mysql.infoschema | | mysql.session | | mysql.sys | | root | | Adam Smith | | John | | User1 | | am | +------------------+ 10 rows in set (0.00 sec)
출력 결과에서 확인할 수 있듯이, 방금 생성한 사용자 'John'이 목록에 정상적으로 추가된 것을 볼 수 있습니다.
사용자에게 모든 권한 부여하기
새로 생성한 사용자 John이 데이터베이스를 자유롭게 사용할 수 있도록 모든 권한을 부여해야 합니다. 권한 부여 쿼리는 다음과 같습니다.
mysql> GRANT ALL PRIVILEGES ON * . * TO 'John'@'localhost'; Query OK, 0 rows affected (0.19 sec)
* . *는 모든 데이터베이스의 모든 테이블에 대한 권한을 의미합니다. 특정 데이터베이스에만 권한을 주고 싶다면 범위를 조정하면 됩니다.
명령 프롬프트에서 다른 사용자로 로그인하기
이제 생성한 사용자 계정으로 실제 로그인해 보겠습니다. 먼저 Windows + R 단축키를 눌러 실행 창을 연 뒤, CMD를 입력하고 확인 버튼을 클릭합니다.

확인 버튼을 누르면 명령 프롬프트(콘솔) 창이 열립니다.

MySQL bin 폴더로 이동하기
명령 프롬프트가 열리면 MySQL이 설치된 bin 폴더 위치로 이동해야 합니다. 아래 단계를 따라 진행하세요.
1단계:

2단계:

생성한 계정으로 로그인 실행하기
bin 폴더로 이동했다면, 앞서 설명한 로그인 문법을 그대로 사용하면 됩니다. 위에서 생성한 사용자 이름 'John'과 비밀번호 'john123456'을 입력하여 로그인합니다. 실행 명령은 다음과 같습니다.

엔터 키를 누르면 비밀번호 입력란이 나타나고, 설정한 비밀번호를 입력하면 해당 사용자 계정으로 MySQL에 로그인할 수 있습니다.

마무리
정리하면, MySQL에서 다른 사용자로 로그인하는 과정은 ① CREATE USER로 사용자 생성 → ② GRANT로 권한 부여 → ③ mysql -u 사용자명 -p로 로그인 순서로 진행됩니다. 보안을 위해 운영 환경에서는 root 계정 대신 필요한 권한만 부여된 개별 사용자 계정을 사용하는 것이 좋습니다.