MySQLWorkbenchとMySQL5.6を使用しています。
保存されたプロシージャのみを実行できるユーザーを作成しようとしています。
そこで、ユーザーを作成し、パスワードを指定して、ロール「routine.execute」を指定しました。
これを生成します:
CREATE USER 'serveruser' IDENTIFIED BY 'PASSWORD';
GRANT EXECUTE ON ROUTINE `myschema`.* TO 'serveruser';
そして、それはこのエラーを生成します:
Executing SQL script in server
ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`myschema`.* TO 'serveruser'' at line 1
GRANT EXECUTE ON ROUTINE `myschema`.* TO 'serveruser'
SQL script execution finished: statements: 228 succeeded, 1 failed
ただし、ownerやtable.insertなどの他の役割を選択した場合は、問題なく実行されます。
次のように変更してみてください。
GRANT EXECUTE ON PROCEDURE `myschema`.* TO 'serveruser'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加