Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk mengubah suai definer dalam mysql

Bagaimana untuk mengubah suai definer dalam mysql

WBOY
WBOYasal
2022-05-19 17:30:462948semak imbas

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.

Bagaimana untuk mengubah suai definer dalam mysql

Persekitaran pengendalian tutorial ini: sistem Windows 10, versi mysql8.0.22, komputer Dell G3.

Cara mengubah suai mysql definer

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn