Rumah > Artikel > pangkalan data > Bagaimana untuk mengubah suai definer dalam mysql
Kaedah pengubahsuaian: 1. Gunakan "update mysql.proc set definer=..." untuk mengubah suai penentu fungsi; 2. Gunakan "update mysql.EVENT set definer=..." untuk mengubah suai penentu peristiwa.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.
1 Ubah suai penentu fungsi dan prosedur
select definer from mysql.proc; -- 函数、存储过程 update mysql.proc set definer=‘user@localhost‘; -- 如果有限定库或其它可以加上where条件
2 acara
select DEFINER from mysql.EVENT; -- 定时事件 update mysql.EVENT set definer=‘ user@localhost ‘;
3 Ubah suai penentu pandangan
Berbanding dengan pengubahsuaian fungsi, ia lebih menyusahkan:
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‘;
Pernyataan pertanyaan kemudian hanya laksanakannya sekali.
4. Ubah suai penentu pencetus
Pada masa ini tiada kaedah khusus dan mudah Anda boleh menggunakan alatan seperti HeidiSQL, sqlyog, dsb. untuk mengubah suai satu per satu satu. Ambil perhatian bahawa adalah perlu untuk mengunci jadual sebelum membuat perubahan, kerana jika ia dicetuskan oleh perubahan dalam jadual lain semasa proses perubahan, ia akan menyebabkan ketidakkonsistenan data.
Pembelajaran yang disyorkan: tutorial video mysql
Atas ialah kandungan terperinci Bagaimana untuk mengubah suai definer dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!