פתרון קליל לבעית MYSQL : "THE USER SPECIFIED AS A DEFINER ('ROOT'@'%') DOES NOT EXIST"

יצא לי להעביר דאטאבייס משרת לשרת,
כאשר שיניתי גם את שם היוזר בדאטאבייס
כולם ב-MySql

עכשיו, אחת מהגדרות האבטחה כשיוצרים VIEW או FUNCTION או STORE PROCEDURE ב- MYSQL היא
שמוגדר היוזר שיצר את הפונקציה/תצוגה בתור DENIFNER
ורק הוא יכול להריץ אותה.

יש המון שאלות באינטרנט על איך פותרים מצב כזה

הפתרון הכי פשוט שאני מצאתי מניח שיש לכם גיבוי של הדאטאבייס , ואתם מריצים את MySql Bench
במקרה כזה
ב-MySql Bench אפשר עם מקש ימני להקליד עם ה-VIEW לדוגמא, ולבחור ALTER VIEW
ואז נעתיק את הקוד של ה-VIEW, נשנה מה שצריך
נוסיף בהתחלה משפט שמוחק את ה-VIEW הישן, וניצור בעצם VIEW חדש שבו מוגדר בתור DEFINER היוזר החדש שלנו

בהצלחה!

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *