사용자 권한
•
사용자 권한은 테이블뿐만 아니라 컬럼, 뷰에 대한 권한을 부여할 수도 있습니다.
MySQL 서버 & DB 접속
-- MySQL 서버 접속
mysql.server start
-- root 계정 접속
$ mysql -u root -p
SQL
복사
사용자 계정 확인
-- root 데이터베이스 중 mysql 데이터베이스 선택
USE mysql;
-- user 테이블 정보에서 사용자 계정 확인
SELECT host, user FROM user;
SQL
복사
사용자 계정 생성
-- 아이디만 생성
CREATE user [아이디];
-- 아이디, 비밀번호, host 생성
CREATE user [아이디]@[호스트] identified by '[비밀번호]';
-- localhost 계정에 외부 host 접근 권한 추가
CREATE user [아이디]@'%' identified by '[비밀번호]';
SQL
복사
계정 권한 부여
-- 로컬호스트의 특정 사용자에게 DB, 테이블 모든 관리 권한 부여
GRANT all privileges on [DB이름].[테이블이름] TO [아이디]@localhost identified by '[비밀번호]';
-- 외부호스트의 특정 사용자에게 DB, 테이블 모든 관리 권한 부여
GRANT all privileges on [DB이름].[테이블이름] TO [아이디]@'%' identified by '[비밀번호]';
-- SELECT 권한 부여
GRANT SELECT ON [DB이름].[테이블이름] TO [아이디]@localhost;
-- SELECT, INSERT 권한 부여
GRANT SELECT, INSERT ON [DB이름].[테이블이름] TO [아이디]@localhost;
-- 컬럼 UPDATE 권한 부여
GRANT UPDATE([컬럼이름], [컬럼이름], ...) ON [DB이름].[테이블이름] TO [아이디]@localhost;
-- 권한 부여 내용 메모리에 반영
FLUSH privileges;
-- 권한 확인
SHOW GRANTS FOR [아이디]@[호스트];
SQL
복사
•
all privileges on 은 user 권한을 관리하는 권한을 제외한 모든 권한을 부여합니다.
계정 권한 삭제
-- 모든 권한 삭제
REVOKE all ON [DB이름].[테이블이름] FROM [아이디]@localhost;
-- SELECT 권한 삭제
REVOKE SELECT ON [DB이름].[테이블이름] FROM [아이디]@localhost;
SQL
복사
사용자 계정 삭제
DROP user [아이디]@[호스트];
SQL
복사