2009-09-30 3 views
0

Я хочу восстановить базу данных mysql с помощью хранимой процедуры? Является ли это возможным?Mysql восстановить базу данных с помощью хранимой процедуры

Или я могу скопировать dbfile и переименовать эту папку?

Пожалуйста, дайте мне знать, если кому-то нужна дополнительная информация, чтобы ответить на этот вопрос.

Заранее спасибо.

С уважением, Манаси

+0

Мне кажется странным восстановить базу данных в хранимой процедуре. Но в любом случае вам нужно быть более ясным: какая версия MySQL? какая ОС? ... –

+0

Привет. Я использую 5.1.30-ndb-6.3.20-cluster-gpl на 64-битной версии Linux-Fedora10. Ну, мне нужно создать db и его таблицы во время выполнения. Я могу сделать это через скрипт, но для выполнения процедуры требуется время, поэтому я хочу обходной путь. Либо, восстановив его, либо у меня есть один образец db, созданный, я просто хочу сделать его копию с разными именами. Является ли это возможным?? –

+0

Кто-нибудь знает какое-либо решение? –

ответ

1

Это зависит от того, что вы подразумеваете под «восстановление:»

Единственный способ, которым Вы могли бы восстановить базу данных с помощью хранимой процедуры, если резервная копия доступна через SQL, поэтому данные должны содержаться в некоторых таблицах, доступных из хранимой процедуры. В этом случае просто написать SQL для копирования данных из таблиц одной базы данных в таблицы другой, используя несколько команд CREATE TABLE и INSERT INTO...SELECT.

Невозможно использовать LOAD DATA INFILE в хранимой процедуре, поэтому вы не можете вытащить необработанный дамп данных, и нет способа (в MySQL, по крайней мере) выполнить сценарий, находящийся на диске, поэтому дамп от mysqldump не будет работать.

Вы не можете перемещать файлы и папки из хранимой процедуры; вы никогда не должны этого делать, пока MySQL работает.

+0

Спасибо за ваш ответ Джеймс. –

Смежные вопросы