4

私はMySQLユーザー(InnoDBエンジン)を持っていますが、それに付与する安全な特権は何でしょうか?現在、特定のデータベースにアクセスする権限と次の権限を付与しています。

SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, ALTER, CREATE TEMPORARY TABLES

しかし、それはInnoDBなので、このユーザーにLOCK TABLES特権を明示的に付与する必要があるかどうか疑問に思っていましたか?また、CREATETEMPORARYTABLESを付与する必要があるかどうかもわかりません。ここで私がどの特権を付与すべきかを理解するのを手伝ってくれませんか?Hibernateはこのユーザーにアクセスできるので、正しく機能するには何で十分かと考えていました。

4

1 に答える 1

4

システムを使用するためにユーザーが必要とする最小限の特権 を付与する必要があります。

必ずテストするには、を使用してgrant all on the databaseください。

物事をロックダウンするのは生産時間ですが、生産ではテーブルに
のみ許可する必要があります。ユーザーが実際にデータを追加または変更する必要があるのは、テーブルに対してのみ 付与します。これは、ユーザーがほとんど必要としない特権です。(あなたが彼らにあなたのためにデータベースを設計させたくない限り:-)。 同上、、、あなたはあなたのユーザーがその力を行使することを望まない。アプリが一時テーブルを作成する場合 は、問題ない可能性があります。select
insertupdate
Create
indexalter
create temp tables

于 2011-08-22T22:38:54.913 に答える