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を削除すると(デフォルトで有効になっています)、セキュリティ上のリスクがあります。

も参照してください

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