복붙노트

[SQL] 나는 특정 테이블에 MySQL 사용자를 제한 할 수있는 방법

SQL

나는 특정 테이블에 MySQL 사용자를 제한 할 수있는 방법

어떻게 특정 테이블에 MySQL 데이터베이스에서 사용자 계정을 제한 할 수 있습니다. 전의:

UserName: RestrictedUser
DatabaseName: db_Payroll 
TableName: 
  tb_Employees
  tb_Users
  tb_Payroll_YYMMDD
  tb_Payroll_Processed

나는 액세스 권한이 부여됩니다 tb_Users 만 tb_Employees와 미래의 사용을 위해 생성됩니다 db_Payroll의 테이블의 나머지 부분에 "RestrictedUser"를 제한 할 수 있습니다.

해결법

  1. ==============================

    1.전류 권한을 사용자에게 있습니다 없다고 가정하면, 다음을 수행 할 수 있습니다

    전류 권한을 사용자에게 있습니다 없다고 가정하면, 다음을 수행 할 수 있습니다

    GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Users TO RestrictedUser@'%'
    GRANT SELECT, INSERT, DELETE ON db_Payroll.tb_Employees TO RestrictedUser@'%'
    

    정확히 사용자를 부여하고자하는 권한에 따라, SELECT, INSERT를 변경할 수 있습니다 뭔가 다른, 예를 들어,에 DELETE ALL PRIVILEGES.

    그 후, 그들은 효력에 권한을 플러시해야합니다.

    FLUSH PRIVILEGES;
    
  2. ==============================

    2.당신은 실행하여 개별 테이블에 대한 액세스 권한을 부여 할 수 있습니다 :

    당신은 실행하여 개별 테이블에 대한 액세스 권한을 부여 할 수 있습니다 :

    GRANT ALL ON db_Payroll.tb_Users to RestrictedUser@RestrictedHostName;
    

    그리고 유사하게 다른 테이블. 작업 목록 대신 ALL의 적절한 경우에 사용합니다.

    당신은 모든 테이블에 대한 액세스 권한을 부여하지 않고 아직 존재하지 않는 개별 테이블에 대한 액세스 권한을 부여 할 수 없습니다.

  3. from https://stackoverflow.com/questions/9780637/how-can-i-restrict-a-mysql-user-to-a-particular-tables by cc-by-sa and MIT license