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='계정';
- 아래는 예시 결과입니다.
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | Event_priv | Trigger_priv | Create_tablespace_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | plugin | authentication_string |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| localhost | 계정 | *EA2F517671BBC9378BEC7F043A38834A232D707E | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | N | 0 | 0 | 0 | 0 | NULL |
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명';
- 아래는 예시 결과입니다.
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| localhost | DB명 | 계정 | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
1 row in set (0.00 sec)
6. 추가된 내용을 적용합니다.
mysql> flush privileges;
7. MySQL 접속 테스트를 수행합니다.
[root@localhost root]# /usr/local/mysql/bin/mysql -u 계정 -p DB명