Это зависит от того, что вы подразумеваете под «восстановление:»
Единственный способ, которым Вы могли бы восстановить базу данных с помощью хранимой процедуры, если резервная копия доступна через SQL, поэтому данные должны содержаться в некоторых таблицах, доступных из хранимой процедуры. В этом случае просто написать SQL для копирования данных из таблиц одной базы данных в таблицы другой, используя несколько команд CREATE TABLE
и INSERT INTO...SELECT
.
Невозможно использовать LOAD DATA INFILE
в хранимой процедуре, поэтому вы не можете вытащить необработанный дамп данных, и нет способа (в MySQL, по крайней мере) выполнить сценарий, находящийся на диске, поэтому дамп от mysqldump не будет работать.
Вы не можете перемещать файлы и папки из хранимой процедуры; вы никогда не должны этого делать, пока MySQL работает.
Мне кажется странным восстановить базу данных в хранимой процедуре. Но в любом случае вам нужно быть более ясным: какая версия MySQL? какая ОС? ... –
Привет. Я использую 5.1.30-ndb-6.3.20-cluster-gpl на 64-битной версии Linux-Fedora10. Ну, мне нужно создать db и его таблицы во время выполнения. Я могу сделать это через скрипт, но для выполнения процедуры требуется время, поэтому я хочу обходной путь. Либо, восстановив его, либо у меня есть один образец db, созданный, я просто хочу сделать его копию с разными именами. Является ли это возможным?? –
Кто-нибудь знает какое-либо решение? –