私はmysqlでクエリを実行しようとしています。
SET GLOBAL log_bin_trust_function_creators =1;
エラーが発生しました。
SQLクエリ:
SET GLOBAL log_bin_trust_function_creators =1
MySQLは次のように言っています:1227 - Access denied; You need the SUPER privilege for this operation
どのようにして任意のデータベースにSUPER
権限を割り当てることができるのかを知りたいです。
ppmyadmin "を使ってスーパー権限を追加することができます。
PHPMYADMIN > privileges > Edit User > Administrator タブで SUPER をクリック > Go
コンソールから行う場合は、次のようにします。
mysql> GRANT SUPER ON *.* TO user@'localhost' IDENTIFIED BY 'password';
上記のコードを実行した後、次のように終了します。
mysql> FLUSH PRIVILEGES;
SUPERは1つのデータベースだけに適用される権限ではなく、グローバルな権限なので、*.*
で行う必要があります。
スーパーユーザを付与した後にphpmyadminが表示するクエリです。コンソールで誰かの助けになれば幸いです。
ON $.$ TO-> $=* は、2つの間にドットを入れても表示されません。
REVOKE ALL PRIVILEGES ON . FROM 'usr'@'localhost'; GRANT ALL PRIVILEGES ON . TO 'usr'@'localhost' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
と、逆にグラントを削除したもの。
REVOKE ALL PRIVILEGES ON . FROM 'dos007'@'localhost'REVOKE GRANT OPTION ON . FROM 'dos007'@'localhost' GRANT ALL PRIVILEGES ON .. TO 'dos007'@'localhost'REQUIRE NONE WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0です。
vagrantで確認したところ、どのmysqlでも動作するはずです。