mysqlテーブルを設定して、書き込みと読み取りは可能だが削除はできないようにする方法はありますか?
たとえば、法的に重要で、決して削除してはならない多くのログを含むテーブル。
回答:
回答№1の場合は3あなたはただ与えるだろう INSERTおよびSELECT特権 問題のテーブル(これにより、行が変更される可能性がなくなります)
GRANT INSERT,SELECT ON mydb.mytable
TO secureduser@localhost
IDENTIFIED BY "password";
これから、このユーザーのデータベース内の他のテーブルに、より広いアクセス許可を追加します。
また、 アーカイブストレージエンジン、この種の監査証跡アプリケーション用にカスタム設計されています。
回答№2については2
回答№3の場合は1
別のオプションは、アーカイブストレージエンジンを使用することです。挿入のみを許可し、更新または削除はできません(誰からでも-特権アカウントであっても)
回答№4の場合は0
あなたは彼が以下に言うように行うことができます... あなたができることは、ユーザーに「ロール」を数値形式で与え、この番号を行を削除するスクリプトに渡すことです...しかし、渡された数値が特定の「最小ロール期待値」を下回る場合、ユーザーはアクセスを拒否されますスクリプト?