2010-11-18 11 views
8

Posso inserire, aggiornare, eliminare, ecc. Su una tabella nel mio database MySQL ma non posso mostrare lo stato della tabella. Qualcuno sa quale (i) privilegio (i) è necessario per fare questo?Autorizzazioni corrette per "SHOW TABLE STATUS" in MySQL

Ecco il mio messaggio di errore:

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

Bella domanda! Il manuale è completamente disattivato. 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 - l'ultima parte più il commento dell'utente fa riferimento indirettamente a SELECT = SHOW, tuttavia, se l'utente è in grado di aggiornare/eliminare/inserire, non è sicuro perché viene bloccato da selezionare – ajreal

+0

Questo potrebbe essere il tuo problema: http://stackoverflow.com/questions/ 6527599/mysql-dimentica-che-sta-logged-in-comando-negati-to-user –

risposta

1

I privilegi minimi (selezionare solo) sono tutto ciò che mi serve per ottenere lo stato della tabella. Quale versione di mysql?

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

poi:

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

opere.

cosa ti fa questo ritorno?

show grants for [email protected]; 
0

sembra strano ... anche i miei utenti di MySQL con priveledges minimi possono fare SHOW TABLE STATUS è su loro rispettive banche dati.

Puoi dare un esempio della sintassi esatta che stai tentando?

ad es. SHOW TABLE STATUS IN sample LIKE 'users'

0

magari cercare un altro modo per visualizzare tutte le informazioni su una particolare tabella,
in particolare la colonna commenti (accanto a "accesso negato" durante SHOW TABLE STATUS):

Accedere alla INFORMATION_SCHEMA di direttamente il database (se si dispone del privilegio SELECT ).

Per informazioni sulla tabella stessa (normalmente uno Tupel):

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

Per informazioni sulle colonne:

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

E 'appena lavorato per me.


Inoltre un

SHOW TABLES FROM information_schema; 

vi offre tutte le "informazioni-tavoli" disponibili.


e/o utilizzare un collegamento, come indicato nella "Show Comment of Fields FROM Mysql Table"

SHOW FULL COLUMNS FROM my_tab_name;