Search

사용자 권한

사용자 권한

사용자 권한은 테이블뿐만 아니라 컬럼, 뷰에 대한 권한을 부여할 수도 있습니다.

 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
복사