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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Некорректное востановление из дампа, восстановление из дампа 
V
    Опции темы
youriy86
Дата 21.12.2011, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Здравствуйте, у меня следующая проблема.
Делаю дамп базы командой:
  mysqldump -h 'host' -u 'user' -'password' -R -B 'db_name' > "D:\back_up.sql".

Потом восстанавливаю у себя на локальной машине базу данных:
  mysql -u root -pmasterkey < back_up.sql (запускаю разумеется из D)

Все view из рабочей базы данных превращаются в таблицы в моей копии. То есть если у меня в оригинальной базе 20 таблиц и 20 view, то в базе которая создается у меня на локальном компе будет 40 таблиц и 0 view.

ПЛИИЗЗ помогите, просто крик помощи, я даже не знаю из за чего это может быть, гугл не помог, а работа просто горит. 

Это сообщение отредактировал(а) youriy86 - 21.12.2011, 14:43
PM MAIL   Вверх
Akina
Дата 21.12.2011, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



А если глазами дамп посмотреть - там-то какие инструкции?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
youriy86
Дата 21.12.2011, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Привожу кусок дампа:
Код

--
-- Temporary table structure for view `vw_category_non_available`
--

DROP TABLE IF EXISTS `vw_category_non_available`;
/*!50001 DROP VIEW IF EXISTS `vw_category_non_available`*/;
SET @saved_cs_client     = @@character_set_client;
SET character_set_client = utf8;
/*!50001 CREATE TABLE `vw_category_non_available` (
  `id` int(11),
  `cat_name` varchar(50),
  `type_name` varchar(50),
  `display_name` varchar(50),
  `next_doc_num` int(11),
  `comment` varchar(255)
) */;
SET character_set_client = @saved_cs_client;


В MySQLManager у меня все нормально отображается, показывает что это вьюха, а в дамп вот такую фигню засовывает.
DDL вьюхи:

Код

CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `vw_category_non_available` AS 
  select 
    `c`.`id` AS `id`,
    `c`.`cat_name` AS `cat_name`,
    `c`.`type_name` AS `type_name`,
    `c`.`display_name` AS `display_name`,
    `c`.`next_doc_num` AS `next_doc_num`,
    `c`.`comment` AS `comment` 
  from 
    `cmmn_category` `c` 
  where 
    (`c`.`active` = 0);


Это сообщение отредактировал(а) youriy86 - 21.12.2011, 15:56
PM MAIL   Вверх
youriy86
Дата 21.12.2011, 17:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Обнаружил проблему:

У меня в коде тело одной процедуры состоит из одной инструкции INSERT INTO `docs` ... ;
begin и end не стоят.
Оказывается, когда делается mysqldump он ставит ';' после каждого куска DDL кода. И получается без begin и end стоят две ';' подряд. На этой команде возникает ошибка, хотя странно, конечно, но дальше код выполняется, но не весь, и он вот так вот заменяет вьюхи. Я смог докопаться до этой ошибки с помощью стандартной команды MySQLManager'а Extract Database. И что самое интересное, когда выполняешь скрипт из файла, создается вот такая фигня, а когда запускаешь в манагере, он тебе указывает на ошибку. 
Спасибо за поддержку, думаю повлияли на решение экстрасенсорные способности Акины smile

Это сообщение отредактировал(а) youriy86 - 21.12.2011, 17:04
PM MAIL   Вверх
Akina
Дата 21.12.2011, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



см. http://bugs.mysql.com/bug.php?id=51300
Вроде бы оно...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
youriy86
Дата 21.12.2011, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Да оно самое. Спасибо, теперь буду знать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0669 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.