2012-06-08 5 views
1

mysql에서 사용자가 만들 수있는 데이터베이스의 수를 제한하는 방법이 있는지 궁금합니다. 사용자에게 데이터베이스를 만들 수있는 권한을 부여하려고하지만 무한 수의 데이터베이스를 만들면 안됩니다.mysql에서 사용자 당 최대 데이터베이스 수

감사합니다, 롤드 (Gerold)

+1

같은 것을 통해 사람들을 제외하여 조회에서이 차지해야한다는

주 이 사용자들의 액세스 권한은 무엇입니까? 응용 프로그램 논리를 통해 데이터베이스 작성을 처리 할 수 ​​있지만 사용자에게 사용 권한을 줄 수 있습니까? – mellamokb

답변

0

당신의 사용자는 당신이 information_schema.SCHEMA_PRIVILEGES 이전에 이미 얼마나 많은 데이터베이스 생성을 허용 확인할 수 있습니다 자신의 데이터베이스에 대한 사용 권한을 부여한 경우. 그러나이 작업을 수행하려면 사용자가 직접 CREATE DATABASE을 금지하고 다른 권한있는 데이터베이스 사용자를 통해 응용 프로그램 코드로 데이터베이스를 만든 다음 새로 생성 된 데이터베이스에 대한 사용자 액세스 권한을 부여해야합니다.

SELECT 
    GRANTEE, 
    COUNT(DISTINCT TABLE_SCHEMA) AS NUM_DBS 
FROM information_schema.SCHEMA_PRIVILEGES 
GROUP BY GRANTEE 

NUM_DBS이 한도보다 큰 경우

는 그들에게 새 데이터베이스를 작성하지 않습니다. 당신은 그들이 "소유"이외의 데이터베이스에 대해 사용자에게 권한을 부여하는 경우, 당신은 레벨이 무엇

WHERE TABLE_SCHEMA NOT IN ('other','dbs','you','grant','access','on') 
관련 문제