Импорт на база данни със Stored Procedure

При импорт на база данни, която съдържа една или повече сторнати процедури (stored procedure), е възможно да се появи съобщение:

You need Super Privileges for this operation

Причината за появата на съобщението се дължи на това, че е необходимо сторнатите процедури да бъдат създавани и в последствие използвани с един и същи MySQL потребител. При създаването на сторната процедура в базата данни се записва MySQL потребителя, с който е била създадена. Ако опитате да експортнете съдържанието в .sql файл и да го импортнете в нова база или в нов хостинг акаунт, то най-вероятно ще получите описаното по-горе съобщение.

Затова е необходимо (1) да редактирате MySQL потребителя в sql файла на базата данни и (2) да импортнете базата данни със същия потребител.

Уверете се че към базата данни, в която желаете да извършите импорта, има създаден MySQL потребител. В случай че все още няма такъв, е необходимо да създадете. Подробна информация за създаване на MySQL потребител и асоцииране на потребителя към база данни можете да намерите на следния адрес:

Как да създам и ползвам MySQL база данни в моя хостинг акаунт? | Help

1. Редакцията на потребителя в sql файла можете да извършите като го с текстов редактор от вида на Notepad++ или друг.

В Notepad++ изберете опция „Search -> „Find . В полето за писане от новопоявилия се прозорец попълнете DEFINER= и изберете бутона „Find Next“ .

stored_procedure_username
Редакция на MySQL потребителско име за сторната процедура в .sql

При търсенето ще намерите резултат от вида:

DEFINER=`mysqlusername`@`localhost`

където mysqlusername e съответния потребител, който е бил използван до този момент за базата данни.

Необходимо е да замените текущото потребителското име с новосъздадения MySQL потребител в контролния панел cPanel.

След като сте извършили промяната продължете търсенето. Ако бъдат намерени и други процедури е необходимо да ги редактирате по аналогичен начин, след което да съхраните промените.

2. Редактираният sql файл следва да бъде импортнат в желаната база данни, като ползвате новосъздадения MySQL потребител.

Това може да бъде направено най-лесно чрез конзола SSH. Подробна информация как за импорт на база данни чрез SSH можете да намерите на следния адрес:

Импорт / експорт на база данни чрез SSH | Help

Друг вариант за импорт е да се използва допълнителен phpMyAdmin в хостинг акаунта.

Инсталация на phpMyAdmin | Help

След като извършите инсталацията, можете да се логнете в phpMyAdmin с актуалното потребителското име и паролата за базата данни и да импортнете sql файла.

Обновена: 18.03.2022

Беше ли Ви полезна тази статия?

Вижте още