質問: concat( 'grant all on'、db_name、 '。* to appserver @localhost '); prepare stmt from @s; execute stmt; deallocate prepare stmt; end // delimiter; この手順を実行する権限をユーザーに付与しますappserver: createappdbでの実行をappserver @ localhostに付与します。 appserverとしてログインし、この手順を実行します。たとえば、fooというデータベースを作成するには: createappdb( 'foo');を呼び出します。ユーザーappserverは、新しく作成されたデータベースに対する完全な権限を持ちますfooそれを削除する機能を含みますが、 mysqlの他のユーザーデータベースにアクセスできます。
回答: これを可能にするmysqlのそのようなsqlステートメントは知りませんが、これを管理するストアドプロシージャを記述して、ストアドプロシージャをユーザーに付与することができます。プロシージャ内で、データベースを作成し、前述のすべての権限をユーザーに付与できます。