8

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

这是我的错误信息:

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

3 回答 3

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;
于 2011-07-27T23:01:57.837 回答
0

似乎很奇怪......即使我的 MySQL 用户拥有最少的权限,也可以在他们各自的数据库上执行 SHOW TABLE STATUS。

你能举一个你正在尝试的确切语法的例子吗?

例如SHOW TABLE STATUS IN sample LIKE 'users'

于 2010-11-18T21:10:34.667 回答
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;
于 2013-11-14T09:52:27.010 回答