MySQL - 一般ユーザにSUPER権限を付与!

Updated:


MySQL で ストアドやトリガを使用する際 root ユーザなら問題ないのですが、一般ユーザの場合、SUPER 権限が付与されていないため実行できません。

簡単なことですが、滅多に行わない作業なのでメモっておきます。 SQL 文を発行して行う方法です。

記録

まず、MySQL サーバへ root でログインしておきます。

1.SUPER 権限確認

以下の SQL 文を発行して、一般ユーザに SUPER 権限が付与されているか確認する。

mysql> SELECT user, Super_priv FROM mysql.user WHERE user='hoge';
+------+------------+
| user | Super_priv |
+------+------------+
| hoge | N          |
+------+------------+
1 row in set (0.00 sec)

SUPER 権限が付与されていなければ、Super_priv の値が “N” になっているはずです。

2.SUPER 権限付与

以下の SQL 文を発行して、一般ユーザに SUPER 権限が付与する。

mysql> UPDATE mysql.user SET Super_priv='Y' WHERE user='hoge';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

※GRANT 文の実行ではないので、”FLUSH PRIVILEGES;” は不要。

3.再度、SUPER 権限確認

mysql> SELECT user, Super_priv FROM mysql.user WHERE user='hoge';
+------+------------+
| user | Super_priv |
+------+------------+
| hoge | Y          |
+------+------------+
1 row in set (0.00 sec)

SUPER 権限が付与されて、Super_priv の値が “Y” になっているはずです。


これで、一般ユーザでもストアドやトリガが使用できるようになります。

以上。





 

Sponsored Link

 

Comments