我可以在MySQL数据库中的表中插入,更新,删除等,但是我无法显示表状态。有谁知道这需要哪些特权?
这是我的错误消息:
Access denied for user 'admin459'@'localhost' to database 'sample'
答案 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;