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” になっているはずです。
これで、一般ユーザでもストアドやトリガが使用できるようになります。
以上。
Comments