Mysql. Загрузка дампа в базу. (решено)

Модератор: Модераторы

Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Mysql. Загрузка дампа в базу. (решено)

Сообщение Deimos »

Прошу помочь, если кто сталкивался.

Не нашел ничего подходящего.

Хочу загрузить дамп в базу данных. Дамп создавался при помощи mysqldump

Через Zeos (query load from file) и выполнение запроса вылетают ошибки.

Через mysql.exe нет параметра, который позволяет указать какой файл залить.


Может кто сталкивался?

P.S. Сильно не пинайте - ответа приемлемого не нашел нигде. Если что не точно описал - уточню...

Благодарен заранее.
Последний раз редактировалось Deimos 05.02.2015 21:30:06, всего редактировалось 1 раз.
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Mysql. Загрузка дампа в базу.

Сообщение Padre_Mortius »

Deimos, плохо искали

Код: Выделить всё

mysql --user=xxxxxx --password=xxxxxx --host=localhost --database=database_name < file_name.sql
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Mysql. Загрузка дампа в базу.

Сообщение Vadim »

Deimos писал(а):Через mysql.exe нет параметра, который позволяет указать какой файл залить.

И почему Вы так решили, интересно? ;-)

Код: Выделить всё

mysql.exe -u юзер -p -h сервер База_данных < дамп.sql
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Re: Mysql. Загрузка дампа в базу.

Сообщение Deimos »

И почему Вы так решили, интересно? ;-)


Deimos, плохо искали


viewtopic.php?f=5&t=10090

Искал...

Меня интересует решение без запуска интерпретатора ОС, штатными средствами Laz/FPC

Добавлено спустя 1 минуту 49 секунд:
Признаю - механику реализации собственного перенаправления Tprocess я пока не осилил на должном уровне...
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Mysql. Загрузка дампа в базу.

Сообщение скалогрыз »

без перенаправления ввода/вывода:

Код: Выделить всё

mysql.exe -u юзер -p -h сервер -execute "source дамп.sql;" 

вариант ли использовать mysqlimport?
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Re: Mysql. Загрузка дампа в базу.

Сообщение Deimos »

вариант ли использовать mysqlimport?


Спасибо. Буду попробовать
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Mysql. Загрузка дампа в базу.

Сообщение скалогрыз »

Deimos писал(а):Спасибо. Буду попробовать


а

Код: Выделить всё

mysql.exe -u юзер -p -h сервер -execute "source дамп.sql;" 

не сработал?
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Mysql. Загрузка дампа в базу.

Сообщение Ism »

В ZeosLib есть TZsqlProcessor для скриптов
Также можно выполнять запросы напрямую ZConnection.ExecuteDirect
Если дамп разобрать на запросы , то может прокатить
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Re: Mysql. Загрузка дампа в базу.

Сообщение sign »

Моя рабочая процедура.
MySQL. XP SP3.

Код: Выделить всё

function TDM.LoadDataBase(const ArchName: String): Boolean;
var S: WideString;
    Code: HINST;
    ParamString: String;
begin
  Result := False;
  // Восстановить из архива
  S := Utf8ToAnsi(FPathToArchive + ArchName + '\');
  ParamString := Format('cmd.exe /c mysql -uroot -hlocalhost %s<"%s%s.sql"', [con.DatabaseName, S, con.DatabaseName]);
  con.Connected := False;
  ParamString := FPathToArchive + 'rest.bat';
  Code := ShellExecute(0, nil, pChar(ParamString), nil, nil, SW_SHOW);
  Result := Code > 32;
  con.Connected := True;
end;
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Re: Mysql. Загрузка дампа в базу.

Сообщение Deimos »

скалогрыз писал(а):не сработал?


не. Этот вариант я пробовал еще до поста на форум. Пишет про недостаточность прав (под рутом тоже) для базы "source дамп.sql"
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Mysql. Загрузка дампа в базу.

Сообщение Ism »

Если уж делать, то через tprocess
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Re: Mysql. Загрузка дампа в базу.

Сообщение Deimos »

Ism писал(а):Если уж делать, то через tprocess


Так и планирую. О результатах обязательно отпишусь, ибо считаю, что каждый решенный вопрос может помочь кому-то еще...
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Mysql. Загрузка дампа в базу.

Сообщение скалогрыз »

Deimos писал(а):не. Этот вариант я пробовал еще до поста на форум. Пишет про недостаточность прав (под рутом тоже) для базы "source дамп.sql"

под sql рутом, как я понимаю?!
а если вручную залогинится в mysql и уже из его командной строки "source дамп.sql" написать? сработает?

просто "недостаточность прав" говорит либо о том, что "-u юзер" действительно бесправен, либо о том, что ошибка в какой-то другой мелочи.
Deimos
постоялец
Сообщения: 174
Зарегистрирован: 16.01.2010 23:31:30
Контактная информация:

Re: Mysql. Загрузка дампа в базу.

Сообщение Deimos »

скалогрыз писал(а):под sql рутом, как я понимаю?!
а если вручную залогинится в mysql и уже из его командной строки "source дамп.sql" написать? сработает?


под sql рутом. -u root не может быть бесправен. Если интересно - могу выложить конкретный лог ошибки, что, вероятно, и следует сделать...

скалогрыз писал(а):а если вручную залогинится в mysql и уже из его командной строки "source дамп.sql" написать? сработает?


так работает
скалогрыз
долгожитель
Сообщения: 1804
Зарегистрирован: 03.09.2008 02:36:48

Re: Mysql. Загрузка дампа в базу.

Сообщение скалогрыз »

Deimos писал(а):под sql рутом. -u root не может быть бесправен. Если интересно - могу выложить конкретный лог ошибки, что, вероятно, и следует сделать...
...
а если вручную залогинится в mysql и уже из его командной строки "source дамп.sql" написать? сработает?
...
так работает

ну хорошо, если из командной строки запустить с -execute "source дамп.sql"?
Ответить