MySQL 은 권한 부여 명령 grant 를 어떻게 사용 합 니까?

이 글 은 MySQL 5.0 이상 버 전에 서 실 행 됩 니 다.
MySQL 이 사용자 에 게 권한 명령 을 부여 하 는 간단 한 형식 은 다음 과 같 습 니 다.

grant    on       to   
1.grant 일반 데이터 사용자,데이터베이스 에 있 는 모든 표 데 이 터 를 조회,삽입,업데이트,삭제 할 권리.

grant select on testdb.* to common_user@'%'
grant insert on testdb.* to common_user@'%'
grant update on testdb.* to common_user@'%'
grant delete on testdb.* to common_user@'%'
또는 MySQL 명령 으로 대체 합 니 다.

grant select, insert, update, delete on testdb.* to common_user@'%'
2.grant 데이터베이스 개발 자,생 성 표,색인,보기,저장 과정,함수.등 권한.
grant MySQL 데이터 시트 구조 권한 생 성,수정,삭제.

grant create on testdb.* to developer@'192.168.0.%';
grant alter on testdb.* to developer@'192.168.0.%';
grant drop on testdb.* to developer@'192.168.0.%';
grant 에서 MySQL 외부 키 를 조작 할 수 있 는 권한 입 니 다.

grant references on testdb.* to developer@'192.168.0.%';
grant 작업 MySQL 임시 테이블 권한 입 니 다.

grant create temporary tables on testdb.* to developer@'192.168.0.%';
grant 작업 MySQL 인덱스 권한.

grant index on testdb.* to developer@'192.168.0.%';
grant 는 MySQL 보 기 를 조작 하고 보기 소스 코드 권한 을 봅 니 다.

grant create view on testdb.* to developer@'192.168.0.%';
grant show view on testdb.* to developer@'192.168.0.%';
grant 작업 MySQL 저장 프로 세 스,함수 권한.

grant create routine on testdb.* to developer@'192.168.0.%'; -- now, can show procedure status
grant alter routine on testdb.* to developer@'192.168.0.%'; -- now, you can drop a procedure
grant execute on testdb.* to developer@'192.168.0.%';
3.grant 일반 DBA 가 특정한 MySQL 데이터 베 이 스 를 관리 하 는 권한.

grant all privileges on testdb to dba@'localhost'
그 중에서 키워드 인'privileges'는 생략 할 수 있다.
4.grant 고급 DBA 는 MySQL 의 모든 데이터 베 이 스 를 관리 할 수 있 는 권한 입 니 다.

grant all on *.* to dba@'localhost'
5.MySQL grant 권한 은 여러 차원 에서 작용 할 수 있 습 니 다.
1.grant 는 전체 MySQL 서버 에 적 용 됩 니 다.

grant select on *.* to dba@localhost; -- dba      MySQL          。
grant all on *.* to dba@localhost; -- dba      MySQL        
2.grant 는 단일 데이터베이스 에 작 동 합 니 다.

grant select on testdb.* to dba@localhost; -- dba      testdb    。
3.grant 는 단일 데이터 시트 에 작용 합 니 다.

grant select, insert, update, delete on testdb.orders to dba@localhost;
한 사용자 에 게 여러 장의 표를 권한 을 부여 할 때 상기 문 구 를 여러 번 실행 할 수 있 습 니 다.예 를 들 면:

grant select(user_id,username) on smp.users to mo_user@'%' identified by '123345';
grant select on smp.mo_sms to mo_user@'%' identified by '123345';
4.grant 는 표 의 열 에 작용 한다.

grant select(id, se, rank) on testdb.apache_log to dba@localhost;
5.grant 는 저장 과정,함수 에 작용 합 니 다.

grant execute on procedure testdb.pr_add to 'dba'@'localhost'
grant execute on function testdb.fn_add to 'dba'@'localhost'
6.MySQL 사용자 권한 보기
현재 사용자(자신)권한 보기:

show grants;
다른 MySQL 사용자 권한 보기:

show grants for dba@localhost;
7.MySQL 사용자 에 게 권한 을 부여 한 권한 을 취소 합 니 다.
revoke 와 grant 의 문법 차이 가 많 지 않 습 니 다.키워드'to'를'from'으로 바 꾸 면 됩 니 다.

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;
8.MySQL grant,revoke 사용자 권한 주의사항
1.grant,revoke 사용자 권한 후 이 사용 자 는 MySQL 데이터 베 이 스 를 다시 연결 해 야 권한 이 적 용 됩 니 다.
2.권한 을 수 여 받 은 사용자 에 게 도 이 권한 을 다른 사용자 에 게 부여 하려 면'grant option'옵션 이 필요 합 니 다.

grant select on testdb.* to dba@localhost with grant option;
이 특성 은 일반적으로 사용 할 수 없다.실제 데이터베이스 권한 은 DBA 가 통일 적 으로 관리 하 는 것 이 좋다.
이상 은 MySQL 이 권한 수여 명령 grant 를 어떻게 사용 하 는 지 에 대한 상세 한 내용 입 니 다.MySQL 권한 수여 명령 grant 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기