본문으로 건너뛰기

MySQL에서 create 명령어로 사용자 계정을 추가하는 방법은 무엇인가요?

💡 요약 정리

  • MySQL 데이터베이스에 새로운 사용자 계정을 생성하려면 root 권한으로 접속해야 합니다.
  • create user 명령어로 계정을 만들고, grant 명령어로 권한을 부여한 후 flush privileges를 실행하여 적용합니다.
  • select 문으로 사용자 및 데이터베이스 권한이 정확히 부여되었는지 확인할 수 있습니다.
  • 모든 명령어는 MySQL 콘솔에서 실행해야 하며, 수정 없이 그대로 입력해야 정상 동작합니다.

1. MySQL Database에 root 권한으로 접속합니다.

[root@localhost root]# /usr/local/mysql/bin/mysql -u root -p mysql

2. create 문을 이용해서 계정과 패스워드를 설정합니다.

mysql> create user '계정'@'localhost' identified by '패스워드';
Query OK, 0 rows affected (0.02 sec)

3. select 문으로 생성된 계정을 확인합니다.

mysql> select * from user where user='계정';
  • 아래는 예시 결과입니다.
HostUserPasswordSelect_privInsert_privUpdate_privDelete_privCreate_privDrop_privReload_privShutdown_privProcess_privFile_privGrant_privReferences_privIndex_privAlter_privShow_db_privSuper_privCreate_tmp_table_privLock_tables_privExecute_privRepl_slave_privRepl_client_privCreate_view_privShow_view_privCreate_routine_privAlter_routine_privCreate_user_privEvent_privTrigger_privCreate_tablespace_privssl_typessl_cipherx509_issuerx509_subjectmax_questionsmax_updatesmax_connectionsmax_user_connectionspluginauthentication_string
localhost계정*EA2F517671BBC9378BEC7F043A38834A232D707ENNNNNNNNNNNNNNNNNNNNNNNNNNNNN0000NULL

1 row in set (0.00 sec)


4. grant 문으로 데이터베이스에 계정의 권한을 부여합니다.

mysql> grant all on DB명.* to '계정'@'localhost';
Query OK, 0 rows affected (0.03 sec)

5. select 문으로 db 테이블에 생성된 권한을 확인합니다.

mysql> select * from db where db='DB명';
  • 아래는 예시 결과입니다.
HostDbUserSelect_privInsert_privUpdate_privDelete_privCreate_privDrop_privGrant_privReferences_privIndex_privAlter_privCreate_tmp_table_privLock_tables_privCreate_view_privShow_view_privCreate_routine_privAlter_routine_privExecute_privEvent_privTrigger_priv
localhostDB명계정YYYYYYNYYYYYYYYYYYY

1 row in set (0.00 sec)


6. 추가된 내용을 적용합니다.

mysql> flush privileges;

7. MySQL 접속 테스트를 수행합니다.

[root@localhost root]# /usr/local/mysql/bin/mysql -u 계정 -p DB명