MySQL中“SHOW TABLE STATUS”的正确权限

时间:2010-11-18 15:18:04

标签: mysql mysql-error-1045

我可以在MySQL数据库中的表中插入,更新,删除等,但是我无法显示表状态。有谁知道这需要哪些特权?

这是我的错误消息:

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

3 个答案:

答案 0 :(得分:1)

最小(仅限选择)权限是获取表状态所需的全部内容。什么版本的mysql?

grant select on test_dev.districts to td3@localhost identified by 'monkey';

然后:

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

作品。

这对你有什么影响?

show grants for admin459@localhost;

答案 1 :(得分:0)

看起来很奇怪......即使是我的MySQL用户也可以在各自的数据库中使用SHOW TABLE STATUS。

您能举例说明您正在尝试的确切语法吗?

e.g。 SHOW TABLE STATUS IN sample LIKE 'users'

答案 2 :(得分:0)

也许尝试其他方式查看有关特定表格的所有信息,
尤其是列评论(在SHOW TABLE STATUS期间“拒绝访问”旁边):

直接访问数据库的 INFORMATION_SCHEMA (如果您有 SELECT-特权)。

有关表格本身的信息(通常是一个图案):

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;