Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Прямой перегон
 
 автор: DDK   (05.07.2005 в 12:12)   письмо автору
 
 

Есть две базы mysql на разных серверах. Так вот вопрос - можно ли как-нибудь "перегнать" несколько таблиц из одной базы в другую базу минуя мой компьютер ? Всегда делал это вручную, т.е. сохранял дамп на моём компе и потом из этого дампа sql-запросами выстраивал таблицы на другой базе... но дело в том, что в общей сложности эти таблицы весят около 7 метров (около 65 тыс. строк дампа) и ручками это всё проделывать, поверьте, очень напряжно... ЗЫ: Ну есессно доступ к обоим базам есть :)

   
 
 автор: cheops   (05.07.2005 в 12:49)   письмо автору
 
   для: DDK   (05.07.2005 в 12:12)
 

Если это хостинг, то скорее всего доступ к база открыт только с локального хоста этого доступа (или всё-таки имеется SSH?) - что ещё есть на хостах? PHP, FTP? Есть идея сделать dump на сервере - перегнать при помощи скрипта его на другой сервер и там развернуть... Или сделать дамп - сжать его, закачать к себе на машину - перебросить на новый хост, там развернуть и загрузить в базу данных, но нужно больше информации об окружении MySQL-серверов.

   
 
 автор: DDK   (05.07.2005 в 13:35)   письмо автору
 
   для: cheops   (05.07.2005 в 12:49)
 

Допустим дамп в виде текстового файла на сервер назначения я закинуть могу (SSH нет). А что дальше делать ? Как заставить этот дамп выполниться ?

   
 
 автор: Loki   (05.07.2005 в 13:41)   письмо автору
 
   для: cheops   (05.07.2005 в 12:49)
 

мне кажется, что все эти ухищрения не стоят 14мб трафика (тем более, единоразово). Это актуально только как академическая задача, а реально потраченное время выйдет дороже, чем вышеупомянутые 14 мб.

   
 
 автор: DDK   (05.07.2005 в 14:06)   письмо автору
 
   для: Loki   (05.07.2005 в 13:41)
 

1) Траффик у меня анлимовый, это не проблема. 2) Это не ухищрения, а автоматизация процесса. Руками за один запрос я могу передать только 3 тыс строк максимум, т.к. при больших объёмах буфер обмена не справляется и осёл виснет нафиг. Вот смотри, что быстрее - запустить дамп на исполнение или 20 раз выполнять руками запрос по 3 тыс строк, матерясь при этом на всю комнату...

   
 
 автор: cheops   (05.07.2005 в 15:15)   письмо автору
 
   для: DDK   (05.07.2005 в 14:06)
 

С таким большим объёмом данных работают примерно следующим образом: по FTP закидывают дамп на сервер и пишут простенький скрипт, который его размещает в базе данных, как в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=1004

   
 
 автор: DDK   (05.07.2005 в 20:40)   письмо автору
 
   для: cheops   (05.07.2005 в 15:15)
 

Вылетает ошибка такая: "Query was empty". Все пустые строки из файла дампа удалил. Вот отрывок из дампа:

DROP TABLE IF EXISTS vb_access;
CREATE TABLE vb_access (
  userid int(10) unsigned NOT NULL default '0',
  forumid smallint(5) unsigned NOT NULL default '0',
  accessmask smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY  (userid,forumid)
) TYPE=MyISAM;
INSERT INTO vb_access VALUES('3', '48', '0');
INSERT INTO vb_access VALUES('3', '49', '0');
DROP TABLE IF EXISTS vb_adminhelp;
CREATE TABLE vb_adminhelp (
  adminhelpid int(10) unsigned NOT NULL auto_increment,
  script varchar(50) NOT NULL default '',
  action varchar(25) NOT NULL default '',
  optionname varchar(25) NOT NULL default '',
  displayorder smallint(5) unsigned NOT NULL default '1',
  volatile smallint(5) unsigned NOT NULL default '0',
  PRIMARY KEY  (adminhelpid),
  UNIQUE KEY phraseunique (script,action,optionname)
) TYPE=MyISAM;
INSERT INTO vb_adminhelp VALUES('1', 'accessmask', '', '', '1', '1');
INSERT INTO vb_adminhelp VALUES('2', 'accessmask', 'edit', '', '1', '1');

   
 
 автор: DDK   (05.07.2005 в 21:03)   письмо автору
 
   для: DDK   (05.07.2005 в 20:40)
 

А, извиняюсь, нашёл свою ошибку ! Всё, всем огромное спасибо !!!

   
 
 автор: DDK   (05.07.2005 в 21:19)   письмо автору
 
   для: DDK   (05.07.2005 в 21:03)
 

Чёрт ! По одной таблице (по одному запросу) в файле всё работает, но весь файл жевать не хоцет :(( Что делать ?

   
 
 автор: cheops   (06.07.2005 в 01:05)   письмо автору
 
   для: DDK   (05.07.2005 в 21:19)
 

Приведите запись, где происходит сбой... Загружайте не весь файл целиком, а кусками по 500 или 1000 записей и выполняйте загрузку такими кусками - тогда будет проще дамп исправить и загрузить опять на хостинг.

   
 
 автор: DDK   (06.07.2005 в 02:41)   письмо автору
 
   для: cheops   (06.07.2005 в 01:05)
 

По тысяче записей... тогда какой мне толк от всего этого геморроя... по 1000 строк я и руками могу, как раньше делал. А Сбоя вроди и не происходит. Если прогоняю один запрос в дампе, то он выполняется нормально (таблица создаётся, данные в неё сгружаются), но скрипт всёравно (видимо как реакцию) выдаёт эту ошибку (Querry was empty)...

   
 
 автор: cheops   (06.07.2005 в 12:07)   письмо автору
 
   для: DDK   (06.07.2005 в 02:41)
 

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

   
 
 автор: Loki   (05.07.2005 в 16:21)   письмо автору
 
   для: DDK   (05.07.2005 в 14:06)
 

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

http://softtime.ru/forum/read.php?id_forum=3&id_theme=4089&page=1

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования