2010-11-18 3 views
8

MySQL 데이터베이스의 테이블에 삽입, 업데이트, 삭제 등을 할 수 있지만 테이블 상태를 표시 할 수는 없습니다. 누구든지이 일을하기 위해 어떤 특권이 필요한지 압니까?MySQL의 "SHOW TABLE STATUS"에 대한 적절한 권한

Access denied for user 'admin459'@'localhost' to database 'sample' 
+0

좋은 질문에 언급 된 바로 가기를 사용! 이 설명서는 완전히 음소거되어 있습니다. http://dev.mysql.com/doc/refman/5.1/en/grant.html#grant-table-privileges –

+0

http://dev.mysql.com/doc/refman/5.0/en/show.html - 마지막 부분과 사용자 주석이 간접적으로 SELECT = SHOW를 참조하지만, 사용자가 업데이트/삭제/삽입 할 수있는 경우 선택에서 차단 된 이유를 모르겠다 – ajreal

+0

이것은 문제 일 수 있습니다. http://stackoverflow.com/questions/ 6527599/mysql-for-who-logged-in-command-denied-to-user –

답변

1

최소 (선택 만) 권한은 테이블 상태를 얻는 데 필요한 것입니다. 어떤 버전의 mysql? 다음

grant select on test_dev.districts to [email protected] identified by 'monkey'; 

:

mysql -pmonkey -u td3 TAMS_development -e 'show table status;' 

작품.

이게 당신에게 무엇을 제공합니까?

show grants for [email protected]; 
0

최소한의 priveledges 심지어 내 MySQL의 사용자 테이블 표시 상태는 해당 데이터베이스에의 할 수있는 ... 이상한 것 같다 :

여기 내 오류 메시지입니다.

시도하려는 구문의 예를 들려 줄 수 있습니까?

SHOW TABLE STATUS IN sample LIKE 'users'

0

아마 특정 테이블에 대한 모든 정보를 볼 수있는 다른 방법을 시도
특히 열 (SHOW TABLE STATUS 동안 "액세스 거부"옆) 코멘트 :

에 액세스 INFORMATION_SCHEMA의 데이터베이스를 직접 ( SELECT 권한이있는 경우).

테이블 자체 (일반적으로 하나의 tupel)에 대한 자세한 내용은 : 컬럼에 대한 자세한 내용은

SELECT 
    * 
FROM 
    information_schema.tables 
WHERE 
     table_schema = 'my_db' 
    AND table_name = 'my_tab_name' 
; 

:

SELECT 
     table_name 
    , column_name 
    , column_comment 
FROM 
    information_schema.columns 
WHERE 
     table_schema = 'my_db' 
    AND table_name = 'my_tab_name' 
; 

그냥 날 위해 일했습니다.


는 또한

SHOW TABLES FROM information_schema; 

가능한 모든 "정보 테이블"을 제공합니다.


그리고/또는 "Show Comment of Fields FROM Mysql Table"

SHOW FULL COLUMNS FROM my_tab_name;