less than 1 minute read

mysql> <code style="margin: 0px; padding: 1px; border: 0px; outline: 0px; font-size: 12px; vertical-align: baseline; background-color: inherit; color: inherit; font-family: 'Courier New', Courier, fixed, monospace;">SHOW GRANTS FOR 'root'@'localhost';+———————————————————————+ | Grants for root@localhost | +———————————————————————+ | GRANT ALL PRIVILEGES ON . TO ‘root’@’localhost’ WITH GRANT OPTION | +———————————————————————+

db의 권한이 설정되어있다면 DB권한도 같이 나온다.

일반 계정의 경우 mysql> SHOW GRANTS FOR ‘유저명’@’호스트명’

GRANT USAGE ON . TO ‘유저명’@’호스트명’ IDENTIFIED BY PASSWORD ‘암호화된비밀번호’                            GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON 테이블1.* TO ‘유저명’@’호스트명’          GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON 테이블2.* TO ‘유저명’@’호스트명’           

이런 모양이 된다.

물론 mysql.user 와 mysql.db 쪽에 내용은 insert 쿼리로 넣어도 똑같다. (이렇게 할 경우 버전 차이에 따른 테이블 구조에 차이 주의!)

FLUSH PRIVILEGES; 를 실행해서 추가된 내용이 반영되도록 하자.


🔗original-link

Updated: