1. 사용자 생성
내부적으로 mysql DB 의 user 테이블에 row를 추가하는 작업이다.
수동으로 DB에 추가 해 줘도 된다.
GRANT USAGE ON *.* TO 사용자ID@접속호스트 IDENTIFIED BY "패스워드"
GRANT USAGE ON *.* TO testuser@localhost IDENTIFIED BY "password"
GRANT USAGE ON *.* TO testuser@"%" IDENTIFIED BY "password"
*password('password')가 아님!
2. 권한 부여
내부적으로 mysql DB 의 db 테이블에 row를 추가하는 작업이다.
GRANT 각종 권한들 ON 디비이름 TO 사용자ID@접속호스트;
GRANT SELECT, INSERT, UPDATE dbname.* TO testuser@localhost identified by 'password';
GRANT ALL PRIVILEGES ON *.* TO testuser@"%" identified by 'password';
3. 권한 삭제
내부적으로 mysql DB 의 db 테이블에 row를 추가 삭제하는 작업이다.
REVOKE 각종 권한들 ON 디비이름.테이블 FROM 사용자ID@접속호스트;
REVOKE SELECT, INSERT, UPDATE dbname.* FROM testuser@localhost;
REVOKE ALL ON *.* FROM testuser@"%";
4. 권한 flush
grant로 추가 한 경우엔 하지 않아도 적용이 되는 듯 하나.. 해 주는게 정석이란다.
flush privileges
아이디나 권한을 수동으로 DB에 넣어 준 경우엔 flush를 꼭 해 줘야 정상 적용된다.
5. 권한 확인
SHOW GRANTS FOR 사용자ID@접속호스트;
*패스워드 설정 : set password for 사용자ID@접속호스트 = password('new-password');
'IT 실무 > 데이터베이스' 카테고리의 다른 글
mysql db를 전부 백업해서 옮기기(서버 이전 등) (0) | 2018.01.28 |
---|---|
[MySQL] Your password does not satisfy the current policy requirements (0) | 2017.01.01 |
MySQL 여러개의 필드를 묶어서 하나의 Primary Key로 만들기 (0) | 2015.07.19 |
[PHP-MySQL] PHP mysqli Extension 간단 매뉴얼 (0) | 2013.10.26 |
[MySQL] 한글이 깨지는 문제 (0) | 2012.12.01 |
댓글