사용자 추구 사용자가 SELECT 권한만 가져야 하는 특정 테이블을 제외하고 데이터베이스에 대한 완전한 액세스를 허용하는 솔루션입니다.
데이터베이스에 대한 모든 권한을 부여하려는 시도에도 불구하고 그런 다음 원하는 테이블에 대해 구체적으로 SELECT 권한만 부여하거나 삽입, 업데이트 및 삭제 권한을 취소하면 오류가 지속되었습니다.
동적 부여 문 생성:
프로세스를 단순화하려면 다음 SELECT CONCAT 쿼리를 사용하여 필요한 GRANT 문을 생성할 수 있습니다.
<code class="sql">SELECT CONCAT("GRANT UPDATE ON db.", table_name, " TO user@localhost;") FROM information_schema.TABLES WHERE table_schema = "YourDB" AND table_name <> "table_to_skip";</code>
단계:
데이터베이스에서 사용자의 모든 권한을 취소합니다.
<code class="sql">REVOKE ALL PRIVILEGES ON db.* FROM user@localhost; </code>
예:
REVOKE ALL PRIVILEGES ON my_db.* FROM my_user@localhost; SELECT CONCAT("GRANT UPDATE ON my_db.", table_name, " TO my_user@localhost;") FROM information_schema.TABLES WHERE table_schema = "my_db" AND table_name <> "special_table";
위 내용은 단일 테이블을 제외하고 MySQL 데이터베이스에 모든 권한을 부여하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!