Уведомления

Группа в Telegram: @pythonsu

#1 Май 2, 2013 13:13:07

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

Если БД экспортированная с одного сервера через phpminiadmin не импортируется на другой, выдавая ошибку 150, то это проблема с настройками mysql сервера? Логично ведь?
Не выполняется даже самый первый запрос из sql-файла.

CREATE TABLE `answers` (
  `id` int(11) NOT NULL auto_increment,
  `quest_id` int(11) NOT NULL default '0',
  `content` varchar(500) NOT NULL,
  `rights` tinyint(4) default '0',
  `zindex` smallint(6) default NULL,
  PRIMARY KEY  (`id`),
  KEY `FK` (`quest_id`),
  CONSTRAINT `answers_ibfk_1` FOREIGN KEY (`quest_id`) REFERENCES `questions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;

Выдаётся:
=====================================
130502 15:22:06 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 24 seconds
———-
SEMAPHORES
———-
OS WAIT ARRAY INFO: reservation count 4, signal count 4
Mutex spin waits 0, rounds 20, OS waits 0
RW-shared spins 8, OS waits 4; RW-excl spins 0, OS waits 0
————————
LATEST FOREIGN KEY ERROR
————————
130502 15:22:02 Error in foreign key constraint of table stimul_db/answers:
FOREIGN KEY (`quest_id`) REFERENCES `questions` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMATYNAMIC:
Cannot resolve table name close to:
(`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 ROW_FORMATYNAMIC

Версия mysql 5.1.69
phpmyadmin в серверных настройках пишет “have innodb YES”.
В my.cnf написано:
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/db/mysql
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/db/mysql
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 512M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 128M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

Что я делаю не так?

Офлайн

#2 Май 2, 2013 13:18:38

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

В первом скрипте вы ссылаетесь на таблицу, которой еще не существует.
Попробуйте завернуть все скрипты в одну транзакцию.

START TRANSACTION
-- тут скрипты
COMMIT;
Или выполняйте SQL-скрипты в правильной последовательности - по мере существования внешних ключей.



Офлайн

#3 Май 2, 2013 13:24:02

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

Lexander
В первом скрипте вы ссылаетесь на таблицу, которой еще не существует.Попробуйте завернуть все скрипты в одну транзакцию.
Думал про это. Изначально заливал sql файл целиком, была та же ругань. Возможно, что phpminiadmin не умеет учитывать порядок запросов, и sql-файл получается не корректным?
Сейчас попробую правильный порядок определить….

Lexander
START TRANSACTION – тут скрипты COMMIT;
Попробовал - та же ошибка. Буду менять порядок.



Отредактировано Hayate (Май 2, 2013 13:29:43)

Офлайн

#4 Май 2, 2013 14:06:23

Hayate
От:
Зарегистрирован: 2010-10-15
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

Сейчас потаблично экспортирую-импортирую, нормально отрабатывается, если следить, чтобы ранее уже были импортированы нужные таблицы. Жаль, что START TRANSACTION; COMMIT; не сработало, было бы проще.



Офлайн

#5 Май 2, 2013 15:44:06

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

А так:

set foreign_key_checks=0;
-- тут скрипты
set foreign_key_checks=1;



Офлайн

#6 Май 2, 2013 15:57:51

S
Зарегистрирован: 2012-04-25
Сообщения: 62
Репутация: +  0  -
Профиль   Отправить e-mail  

Не импортируется экспортированная БД mysql

А вот так вот молча всё импортировалось. Спасибо огромное, буду знать.
Пустая голова руками покоя не даёт.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version