変更方法: 1. "update mysql.proc setdefiner=..." を使用して関数の定義者を変更します; 2. "update mysql.EVENT setdefiner=..." を使用して関数の定義者を変更しますイベントの定義者。
このチュートリアルの動作環境: Windows10 システム、mysql8.0.22 バージョン、Dell G3 コンピューター。
1. 関数とプロシージャの定義者を変更します
select definer from mysql.proc; -- 函数、存储过程 update mysql.proc set definer=‘user@localhost‘; -- 如果有限定库或其它可以加上where条件
2. の定義者を変更しますイベント
select DEFINER from mysql.EVENT; -- 定时事件 update mysql.EVENT set definer=‘ user@localhost ‘;
3. ビューの定義者を変更する
## 関数を変更するのと比べて、面倒です:select DEFINER from information_schema.VIEWS; select concat("alter DEFINER=`user`@`localhost` SQL SECURITY DEFINER VIEW ",TABLE_SCHEMA,".",TABLE_NAME," as ",VIEW_DEFINITION,";") from information_schema.VIEWS where DEFINER<>‘user@localhost‘;
4. トリガーの定義者を変更する
現時点では具体的で便利な方法はありませんが、HeidiSQL や sqlyog などのツールを使用して 1 つずつ変更することができます。 1つ。変更プロセス中に他のテーブルの変更がトリガーされると、データの不整合が発生するため、変更を行う前にテーブルをロックする必要があることに注意してください。 推奨学習:以上がmysqlで定義者を変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。