GRANT <privileges>

このステートメントは、TiDB の既存のユーザーに権限を割り当てます。 TiDB の権限システムは MySQL に従い、資格情報はデータベース/テーブル パターンに基づいて割り当てられます。このステートメントを実行するには、割り当てたGRANT OPTIONの特権とすべての権限が必要です。

あらすじ

GrantStmt
GRANTPrivElemListONObjectTypePrivLevelTOUserSpecListRequireClauseOptWithGrantOptionOpt
PrivElemList
PrivElem,
PrivElem
PrivType(ColumnNameList)
PrivType
ALLPRIVILEGESALTERROUTINECREATEUSERTEMPORARYTABLESVIEWROLEROUTINETRIGGERDELETEDROPROLEPROCESSEXECUTEINDEXINSERTSELECTSUPERSHOWDATABASESVIEWUPDATEGRANTOPTIONREFERENCESREPLICATIONSLAVECLIENTUSAGERELOADFILECONFIGLOCKTABLESEVENTSHUTDOWN
ObjectType
TABLE
PrivLevel
*.*Identifier.*Identifier
UserSpecList
UserSpec,

mysql> CREATE USER 'newuser' IDENTIFIED BY 'mypassword';
Query OK, 1 row affected (0.02 sec)

mysql> GRANT ALL ON test.* TO 'newuser';
Query OK, 0 rows affected (0.03 sec)

mysql> SHOW GRANTS FOR 'newuser';
+-------------------------------------------------+
| Grants for newuser@%                            |
+-------------------------------------------------+
| GRANT USAGE ON *.* TO 'newuser'@'%'             |
| GRANT ALL PRIVILEGES ON test.* TO 'newuser'@'%' |
+-------------------------------------------------+
2 rows in set (0.00 sec)

MySQL の互換性

  • MySQL と同様に、 USAGE特権は TiDBサーバーにログインできることを示します。
  • カラムレベルの権限は現在サポートされていません。
  • MySQL と同様に、 NO_AUTO_CREATE_USER sql モードが存在しない場合、ユーザーが存在しない場合、 GRANTステートメントは空のパスワードで新しいユーザーを自動的に作成します。この sql-mode を削除すると (デフォルトで有効になっています)、セキュリティ上のリスクが生じます。

こちらもご覧ください

エコシステム
TiDB
TiKV
TiSpark
Chaos Mesh
© 2022 PingCAP. All Rights Reserved.