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ユーザーでさえ、それぞれのデータベースでSHOWTABLESTATUSを実行できます。

試みている正確な構文の例を挙げていただけますか?

例えばSHOW TABLE STATUS IN sample LIKE 'users'

于 2010-11-18T21:10:34.667 に答える
0


特定のテーブルに関するすべての情報、特に列のコメントを表示する別の方法を試してみてください(「アクセスが拒否されました」のほかにSHOW TABLE STATUS):

データベースのINFORMATION_SCHEMAに直接アクセスします (SELECT 権限がある場合)。

テーブル自体に関する情報 (通常は 1 つのタペル):

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;

利用可能なすべての「情報テーブル」を提供します。


または、「 Mysql テーブルからフィールドのコメントを表示する 」で説明されているように、ショートカットを使用します

SHOW FULL COLUMNS FROM my_tab_name;
于 2013-11-14T09:52:27.010 に答える