/ /特定のmysqlテーブルの行の削除を禁止する方法-mysql、security、delete-row、sql-delete

どのように特定のmysqlテーブル内の行の削除を禁止するには? - mysql、security、delete-row、sql-delete

mysqlテーブルを設定して、書き込みと読み取りは可能だが削除はできないようにする方法はありますか?

たとえば、法的に重要で、決して削除してはならない多くのログを含むテーブル。

回答:

回答№1の場合は3

あなたはただ与えるだろう INSERTおよびSELECT特権 問題のテーブル(これにより、行が変更される可能性がなくなります)

GRANT INSERT,SELECT ON mydb.mytable
TO secureduser@localhost
IDENTIFIED BY "password";

これから、このユーザーのデータベース内の他のテーブルに、より広いアクセス許可を追加します。

また、 アーカイブストレージエンジン、この種の監査証跡アプリケーション用にカスタム設計されています。


回答№2については2

取り消す 削除 特権 そのテーブルのすべてのユーザーから。


回答№3の場合は1

別のオプションは、アーカイブストレージエンジンを使用することです。挿入のみを許可し、更新または削除はできません(誰からでも-特権アカウントであっても)


回答№4の場合は0

あなたは彼が以下に言うように行うことができます... あなたができることは、ユーザーに「ロール」を数値形式で与え、この番号を行を削除するスクリプトに渡すことです...しかし、渡された数値が特定の「最小ロール期待値」を下回る場合、ユーザーはアクセスを拒否されますスクリプト?