Некорректный экспорт базы данных

InstantCMS 2.X
#1 13 февраля 2020 в 18:18
Здравствуйте!
При попытке перенести базу данных с хостинга на локалку получил следующую ошибку:

#1054 — Неизвестный столбец 'is_private' в 'field list'

Вот что у меня в дампе:

Структура таблицы
  1. DROP TABLE IF EXISTS `inst_activity`;
  2. CREATE TABLE `inst_activity` (
  3. `id` int(11) UNSIGNED NOT NULL,
  4. `type_id` int(11) UNSIGNED DEFAULT NULL,
  5. `user_id` int(11) UNSIGNED DEFAULT NULL,
  6. `group_id` int(11) UNSIGNED DEFAULT NULL,
  7. `subject_title` varchar(140) DEFAULT NULL,
  8. `subject_id` int(11) UNSIGNED DEFAULT NULL,
  9. `subject_url` varchar(250) DEFAULT NULL,
  10. `reply_url` varchar(250) DEFAULT NULL,
  11. `images` text DEFAULT NULL,
  12. `images_count` int(11) UNSIGNED DEFAULT NULL,
  13. `date_pub` timestamp NULL DEFAULT current_timestamp
  14. ) ;
  15.  
При попытке вставить данные, там уже больше столбцов.

  1. INSERT INTO `inst_activity` (`id`, `type_id`, `user_id`, `group_id`, `subject_title`, `subject_id`, `subject_url`, `reply_url`, `images`, `images_count`, `date_pub`, `is_private`, `is_parent_hidden`, `is_pub`) VALUES ...
---
Из-за чего такое могло произойти?
Использую Ubuntu 16.04
MariaDB 10.3.13
phpMyAdmin 4.9.0.1 — в нем уже фиксил ошибки c count()
PHP: 7.2.22
medium.com/@chaloemphonthipkasorn/%E0%B9%81%E0%B8%81%E0%B9%89-bug-phpmyadmin-php7-2-ubuntu-16-04-92b287090b01
medium.com/@chaloemphonthipkasorn/fix-bug-phpmyadmin-sql-lib-php-php7-2-ubuntu-16-04-836049630a40

---
Самое интересное, что с локалки я смог экспортировать и выгрузить базу на сервер.
Это phpMyAdmin 4.9.0.1 глюченный или как понять?
#2 13 февраля 2020 в 18:49
Так у вас дамп какой версии?
Давайте посмотрим на оригинальную таблицу в последней:
github.com/instantsoft/icms2/blob/master/install/languages/ru/base.sql#L50
Не знаю полной ситуации, можно добавить поля. У вас поля, если смотреть на хостинге эти в базе есть?
#3 14 февраля 2020 в 16:21


Так у вас дамп какой версии?

@Evg

Вы имеете ввиду, что утилита mysqldump типа как отдельный демон. И он может не подходит для текущей версии MySQL-сервера?
Тото-же я не понимаю, почему не надо сначала подключиться к mysql-серверу, а потом уже выполнять какие-то запросы.

---


Давайте посмотрим на оригинальную таблицу в последней:
github.com/instantsoft/icms2/blob/master/install/languages/ru/base.sql#L50
Не знаю полной ситуации, можно добавить поля. У вас поля, если смотреть на хостинге эти в базе есть?

@Evg
Поля в самой базе есть. И данные в них есть.

---
Для себя решил этот вопрос, воспользовавшись github.com/ifsnop/mysqldump-php
Но хотелось бы также разобраться, как это сделать с помощью инструментов самого сервера.
И что интересно, у меня команда не работает
#4 14 февраля 2020 в 16:31
  1. mysqldump -u [username] -p [database-you-want-to-dump] > [path-to-place-data-dump]
Вот это тоже сработало для экспорта таблиц без их содержимого, но пришлось сменить пароль для пользователя. Потому что когда пароль содержал восклицательный знак, то выходила ошибка:
-bash: !***: event not found

Пробовал \! — не помогало. Тогда я использовать php-скрипт, и получилось экспортировать корректно. И потом уже попробовал все-таки добиться результата из командной строки…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.