안녕하세요 MySQL에 대해 알아보는 시간, 오늘은 MySQL 유저를 생성하는 방법에 대해 알아볼까 합니다.저의 MySQL 강의 (?) 강좌 (?)는 전부 제 교수님이 설명해 주시는 수업을 제 방식대로 풀어서 설명하는 것이니 오류가 있어도 너그럽게 봐주시길 바랍니다! 또한 모든 저의 전공수업은 영어로 진행이 되어서 번역에 오류가 있을 수 있습니다!

MySQL에서 유저를 생성하는 거는 별로 어렵지 않습니다.
기본적으로 CREATE를 써주시면 되는데요.
CREATE USER 유저네임 IDENTIFIED BY '패스워드';
유저네임은 쉽게 아이디라고 생각하시면 되고 패스워드는 비밀번호라고 생각하시면 됩니다.
자, 이제 유저를 생성해 주셨으면 각각의 유저들에게 권한을 부여할 수 있게 됩니다.
GRANT를 이용해서 어떠한 권한을 어떠한 유저에게 부여할지에 대해 결정할 수 있습니다.
GRANT: This is the command used to assign specific privileges to a user or role in a database.
GRANT ALTER, DROP, SELECT, INSERT, UPDATE, DELETE ON 테이블이름.* TO 유저네임 WITH GRANT OPTION;
GRANT를 이용하실 때에는 어떠한 타입의 권한을 부여할지에 대해 생각해 주시면 되고 ON 을 사용해서 어떠한 테이블 그리고 TO를 사용해서 어떤 유저에게 특정 권한을 부여할지 결정해 주시면 됩니다.
ALTER를 이용해서 데이터베이스와 테이블을 수정할 수 있습니다.
ALTER USER: This command is used to modify the properties of an existing user account in the database.
ALTER USER 유저네임 WITH MAX_QUERIES_PER_HOUR 숫자 MAX_UPDATES_PER_HOUR 숫자;
위 예시는 유저의 멕시멈 쿼리를 제한하는 코드인데요
또 다른 예시를 들자면
ALTER USER 유저네임 PASSWORD EXPIRE;
이렇게 특정 유저의 데이터 베이스를 수정할 수 있습니다.
GRANT 와 ALTER를 이용해서 권한을 부여하거나 데이터베이스를 수정해 보았습니다 !
하지만
어떠한 권한을 부여했고 어떤 데이터를 수정했는지 확인하는 방법은 정말 귀찮은데요
한눈에 볼 수 있는 방법이 있습니다!
SELECT * FROM mysql.db WHERE User IN ('유저네임');
SELECT * FROM mysql.tables_priv WHERE User IN ('유저네임');
하지만 위 코드를 실행하면 불필요한 정보들이 정말 많습니다.
그래서 특정 정보만 보고 싶다면 이러한 방법을 사용하면 됩니다!
SELECT User, Host, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Grant_priv, Create_view_priv,
Max_questions, Max_updates,Password_expired
FROM mysql.user WHERE User IN ('유저네임');
이렇게 오늘은 GRANT와 ALTER 문을 이용하는 방법에 대해서 알아보았습니다 !
본격적으로 유저의 데이터베이스를 편집할 수 있게 되었네요 :)
잘못된 정보나 오류에 대한 의견은 언제나 환영입니다!

'코딩 > MySQL' 카테고리의 다른 글
SQL을 마스터 해보자 ( INSERT, ALTER, DELETE, UPDATE, SELECT, CREATE, GRANT,JOIN,REVOKE,CONCACT ) (0) | 2023.11.26 |
---|