SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.03.2009 16:53:03

Vladimir777
Участник
Зарегистрирован: 24.03.2009
Сообщений: 5

Проблемы переноса с сервера на localhost

Всем добрый день.

Есть огромная необходимость периодически перекидывать базу данных InnoDB с сервера провайдера себе на комп (localhost). Структура базы переноситься без проблем, а вот содержимое таблиц уезжает - индексы primary key у которых значения равно нулю оказываться на последней строчке с совершенно другим индексом. В одной из таблиц при этом еще светиться ошибка дублирующихся ключей.

Переносить пробовал с помощью MySQL Migration Toolkit, mysqldump. Разницы нет.

Я не понимаю в чем проблема, поэтому очень нужен дельный совет.

Неактивен

 

#2 24.03.2009 17:35:15

Vladimir777
Участник
Зарегистрирован: 24.03.2009
Сообщений: 5

Re: Проблемы переноса с сервера на localhost

Вот пример перемещения одной таблицы из БД провайдера к себе на localhost:

1) создание структуры
DROP TABLE IF EXISTS `myDB`.`myTab`;
CREATE TABLE `myDB`.`myTab` (
  `id_g` TINYINT(3) NOT NULL AUTO_INCREMENT,
  `name` TINYTEXT NOT NULL,
  PRIMARY KEY (`id_g`)
)
ENGINE = INNODB
CHARACTER SET utf8 COLLATE utf8_general_ci;

2) перенос данных
INSERT INTO `myDB`.`myTab`(`id_g`, `name`)
VALUES (0, 'row1'),
  (1, 'row2'),
  (2, 'row3');

3) результат выполнения: Duplicate entry '1' for key 'PRIMARY'

4) содержимое таблицы после выполнения (в зависимости от махинаций) - либо пустые строки, либо:
1 row2
2 row3
3 row1

Кодировки баз на провайдере и на компе одинаковые, поддержка баз InnoDB есть.

Неактивен

 

#3 24.03.2009 17:45:45

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Проблемы переноса с сервера на localhost

Какие версии серверов, какой командой дампите данные, какой восстанавливаете?

Неактивен

 

#4 24.03.2009 17:59:10

Vladimir777
Участник
Зарегистрирован: 24.03.2009
Сообщений: 5

Re: Проблемы переноса с сервера на localhost

На localhost сначало была MySQL 5.0.хx, думал проблемы в ней, переустановил на MySQL 5.1.32, без результата.
На сервере провайдера крутиться MySQL 5.0.32.

Данные переносил с помощью MySQL Migration Toolkit 1.1.17, потом для интереса вручную с помощью MySQLQueryBrowser 1.2.17 (команды привел выше). Ну а про mysqldump наврал, не пробовал, но сейчас попробую.

Неактивен

 

#5 24.03.2009 18:28:35

Vladimir777
Участник
Зарегистрирован: 24.03.2009
Сообщений: 5

Re: Проблемы переноса с сервера на localhost

Вот чОрт... )))

На будущее, тем кто столкнулся с подобными проблемами делаем так:

1) заливаем данные к себе в файл с удаленного сервера
mysqldump --quick -u<логин> -p -h<хост> -P3306 <база> > database.sql

2) из файла переносим данные в свою БД на localhost
mysql -u<логин> -p -hlocalhost -P3306 -D <база> < database.sql

Детально не смотрел, но в первом приближении все перенеслось на пятерку.
Странно что MySQL Migration Toolkit не смог этого сделать....

Неактивен

 

#6 24.03.2009 18:35:29

Vladimir777
Участник
Зарегистрирован: 24.03.2009
Сообщений: 5

Re: Проблемы переноса с сервера на localhost

теория http://www.openwiki.ru/wiki/MySQL_SQL

А кто-нибудь пробовал так (используется только одна команда):

MySQL manual reference
If you want to copy a database from a remote machine over a slow network, you can use these commands:

mysqldump -h 'other_hostname' --opt --compress db_name | mysql db_name

Настройки соединения тут упущены, они указываются аналогично предыдущим командам?

Отредактированно Vladimir777 (24.03.2009 18:46:31)

Неактивен

 

#7 24.03.2009 18:49:26

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Проблемы переноса с сервера на localhost

Угу, а можно еще и вот так wink
mysqldump -B dbname | gzip | ssh remotehost 'gunzip | mysql'

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson