MySQLはバージョン8.
SYSTEM_
今回はこのSYSTEM_
SYSTEM_USER権限とは
SYSTEM_
システムアカウントは通常のアカウント及び、
- アカウントの操作
- システムアカウントが発行したセッション及び実行中のステートメントのKILL
- ストアドオブジェクトのDEFINER属性の設定
たとえば、
また、
mysql> SET PERSIST mandatory_roles = 'system_user_role'; ERROR 3880 (HY000): Cannot set mandatory_roles: AuthId `system_user_role`@`%` has 'SYSTEM_USER' privilege.
試してみる
実際に、
mysql> CREATE USER system_fukamachi@localhost IDENTIFIED BY 'fukamachi'; Query OK, 0 rows affected (0.02 sec) mysql> CREATE USER fukamachi@localhost IDENTIFIED BY 'fukamachi'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SELECT,UPDATE,INSERT,DELETE,SYSTEM_USER ON *.* TO system_fukamachi@localhost WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> GRANT SELECT,UPDATE,INSERT,DELETE ON *.* TO fukamachi@localhost WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec)
上記のようにSYSTEM_
各ユーザーでログインして権限の剥奪を実行してみます。まずはシステムアカウントで、
$ mysql -u system_fukamachi -p mysql> REVOKE DELETE ON *.* FROM fukamachi@localhost; Query OK, 0 rows affected (0.02 sec)
いつもどおり権限の剥奪ができました。続いて、
$ mysql -u fukamachi -p mysql> REVOKE DELETE ON *.* FROM system_fukamachi@localhost; ERROR 1227 (42000): Access denied; you need (at least one of) the SYSTEM_USER privilege(s) for this operation
SYSTEM_
$ mysql -u root -p mysql> REVOKE DELETE ON *.* FROM system_fukamachi; Query OK, 0 rows affected (0.01 sec)
今度は剥奪することができました。
このように、
SYSTEM_USER権限のことではないSYSTEM_USER
SYSTEM_
mysqlクライアントのsyslogオプション
mysqlクライアントでは—syslogオプションを付与することでシステムロギング機能に書き込みを行います。このsyslogは以下のような形式で出力されます。
May 25 07:37:25 myhost MysqlClient: SYSTEM_USER:'mysql', MYSQL_USER:'root', CONNECTION_ID:36, DB_SERVER:'--', DB:'--', QUERY:'select sleep(2)'
May 25 07:37:26 myhost MysqlClient: SYSTEM_USER:'mysql', MYSQL_USER:'root', CONNECTION_ID:36, DB_SERVER:'--', DB:'--', QUERY:';'
ここで出力されている、
performance_schemaのprocesslistテーブル
このUSERのカラムに、
これはタスクを内部的に処理するためにサーバーによって起動される非クライアントスレッドを指し、
SYSTEM_USER()関数
SYSTEM_
mysql> SELECT SYSTEM_USER(); +---------------------+ | SYSTEM_USER() | +---------------------+ | fukamachi@localhost | +---------------------+ 1 row in set (0.00 sec)
まとめ
今回は、
SYSTEM_