📣
TiDB Cloud Essential はパブリックプレビュー中です。このページは自動翻訳されたものです。原文はこちらからご覧ください。

GRANT <privileges>



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

あらすじ

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

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サーバーにログインする能力を示します。
  • バージョン8.5.6以降、TiDBはMySQL互換の列レベルの権限管理メカニズムをサポートしています。指定したテーブルの特定の列に対して、 SELECTINSERTUPDATE 、およびREFERENCES権限を付与または取り消すことができます。詳細については、列レベルの権限管理を参照してください。
  • MySQLと同様に、 NO_AUTO_CREATE_USER SQLモードが存在しない場合、 GRANTステートメントは、ユーザーが存在しない場合に、パスワードが空の新しいユーザーを自動的に作成します。このSQLモードを削除すると(デフォルトでは有効になっています)、セキュリティ上のリスクが生じます。
  • TiDB では、 GRANT <privileges>ステートメントが正常に実行されると、実行結果は現在の接続に直ちに有効になります。一方MySQLでは、一部の権限では、実行結果は後続の接続でのみ有効になります。詳細については、 TiDB #39356を参照してください。

関連項目

このページは役に立ちましたか?