>데이터 베이스 >MySQL 튜토리얼 >MySQL 사용자에게 권한을 부여하고 취소하려면 어떻게해야합니까?

MySQL 사용자에게 권한을 부여하고 취소하려면 어떻게해야합니까?

百草
百草원래의
2025-03-14 18:42:53866검색

MySQL 사용자에게 권한을 부여하고 취소하려면 어떻게해야합니까?

MySQL 사용자의 권한을 관리하려면 보조금 및 취소 명령을 사용합니다. 사용 방법은 다음과 같습니다.

권한 부여 :

보조금 명령은 사용자에게 특정 권한을 제공하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

 <code class="sql">GRANT privilege_type ON database_name.table_name TO 'username'@'host';</code>

예를 들어, company 데이터베이스의 employees 이라는 테이블에 선정 특권을 부여하려면 모든 호스트에서 연결할 수있는 john 이라는 사용자에게 다음과 같이합니다.

 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%';</code>

권한 취소 :

Revoke 명령은 사용자로부터 특정 권한을 제거하는 데 사용됩니다. 기본 구문은 다음과 같습니다.

 <code class="sql">REVOKE privilege_type ON database_name.table_name FROM 'username'@'host';</code>

예를 들어, employees 테이블에서 john 의 선택 특권을 취소하려면 :

 <code class="sql">REVOKE SELECT ON company.employees FROM 'john'@'%';</code>

권한을 수정 한 후 권한을 새로 고치기 위해 즉시 발효하는 것이 좋습니다.

 <code class="sql">FLUSH PRIVILEGES;</code>

어떤 구체적인 MySQL 사용자 권한을 부여하거나 취소 할 수 있습니까?

MySQL은 사용자 액세스를 관리하기 위해 부여하거나 취소 할 수있는 다양한 권한을 제공합니다. 가장 일반적인 특권 중 일부는 다음과 같습니다.

  • 모든 권한 : 모든 가용 특권을 부여합니다.
  • 생성 : 새로운 데이터베이스 및 테이블을 생성 할 수 있습니다.
  • 드롭 : 데이터베이스 및 테이블을 삭제할 수 있습니다.
  • 삭제 : 테이블에서 레코드를 삭제할 수 있습니다.
  • 삽입 : 새 레코드를 테이블에 삽입 할 수 있습니다.
  • 선택 : 테이블에서 데이터를 검색 할 수 있습니다.
  • 업데이트 : 테이블에서 기존 레코드를 수정할 수 있습니다.
  • 변경 : 테이블 구조를 변경할 수 있습니다.
  • 인덱스 : 인덱스의 생성 또는 삭제가 가능합니다.
  • 실행 : 저장된 루틴을 실행할 수 있습니다.

또한 다음과 같은 행정 권한이 있습니다.

  • 보조금 옵션 : 사용자가 다른 사용자에게 권한을 부여하거나 취소 할 수 있습니다.
  • Super : 다른 사용자 스레드를 죽이는 것과 같은 광범위한 관리 기능을 제공합니다.

이러한 권한을 부여하거나 취소 할 때는 글로벌 (모든 데이터베이스), 데이터베이스, 테이블 또는 열의 다른 수준으로 지정할 수 있습니다.

MySQL 사용자의 현재 권한을 확인하려면 어떻게해야합니까?

MySQL 사용자의 현재 권한을 확인하려면 SHOW GRANTS 문을 사용할 수 있습니다. 기본 구문은 다음과 같습니다.

 <code class="sql">SHOW GRANTS FOR 'username'@'host';</code>

예를 들어, 어떤 호스트에서 연결할 수있는 사용자 john 의 권한을 보려면 :

 <code class="sql">SHOW GRANTS FOR 'john'@'%';</code>

이 명령은 john 에게 부여 된 모든 권한을 나열합니다. 현재 로그인 한 사용자의 권한을보고 싶다면 간단히 사용할 수 있습니다.

 <code class="sql">SHOW GRANTS FOR CURRENT_USER;</code>

현재 명령을 실행중인 사용자의 권한이 표시됩니다.

여러 MySQL 사용자의 권한을 한 번에 어떻게 수정합니까?

여러 MySQL 사용자에 대한 권한 수정 동시에 MySQL의 단일 명령으로 직접 지원되지 않습니다. 그러나 프로세스를 스크립팅하여이를 달성 할 수 있습니다. SQL 스크립트를 사용한 기본 접근법은 다음과 같습니다.

  1. 스크립트 만들기 : 각 사용자에 대한 일련의 보조금 또는 취소 명세서가 포함 된 SQL 스크립트를 작성하십시오. 예를 들어:
 <code class="sql">GRANT SELECT ON company.employees TO 'john'@'%'; GRANT SELECT ON company.employees TO 'jane'@'%'; GRANT SELECT ON company.employees TO 'bob'@'%'; FLUSH PRIVILEGES;</code>
  1. 스크립트 실행 : 스크립트를 파일 (예 : modify_privileges.sql )에 저장 한 다음 MySQL 명령 줄 도구를 사용하여 실행합니다.
 <code class="bash">mysql -u root -p </code>

이 접근법을 사용하면 여러 사용자의 권한을 한 번에 수정하는 프로세스를 자동화 할 수 있습니다. 많은 사용자를 다루는 경우 루프를 사용 하여이 스크립트를 더욱 향상시킬 수 있습니다. 아마도 Python 또는 Shell 스크립트와 같은 프로그래밍 언어와 통합하여 수많은 사용자를 처리 할 수 ​​있습니다.

권한 설정의 백업이 항상 있는지 확인하고 생산 환경에서 스크립트를 테스트하기 전에 라이브 데이터베이스에 적용하십시오.

위 내용은 MySQL 사용자에게 권한을 부여하고 취소하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.