トリガーを作成するための SQL スクリプトの実行を含む、一部のソフトウェアの更新プログラムを展開しています。
私の.sql
ファイル構文には、DEFINER 句を含めませんでした。これは、プログラムの実行中に、顧客の実稼働 MySQL ユーザー (顧客自身が設定したもの) がこれらのトリガーを実行できるようにするためです。
つまり、テストでは、MySQL が TRIGGER の DEFINER を自動的に作成することが示されました'CURRENT_USER'@'%'
。賢明なことをして、(制限付きの) アカウントを日常のデータ操作に使用し、別のアカウントを大きな更新 (root ?) に使用すると、権限を持たない 1 人または複数のユーザーで TRIGGER を実行しようとすることになります。それをするために。
この「定義者の自動追加」機能を削除する方法はありますか?
入ってみDEFINER = '%'@'%'
ましたが受け付けません。