Ошибка MySQL при восстановлении.

Alekxander

Мой дом здесь!
Регистрация
3 Янв 2018
Сообщения
481
Реакции
233
Восстанавливаю сайт при помощи Акибы. При восстановлении базы выпадает ошибка. Возможно кто-нибудь подскажет в чем проблема.
Сайт на Джумле .
Database error processing line 24
Database server error reply:
ErrNo #1273
PHP:
Unknown collation: 'utf8mb4_0900_ai_ci'
 SQL=CREATE TABLE `ng41m_finder_types` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `mime` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `title` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
Raw query text:
PHP:
CREATE TABLE `ng41m_finder_types` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `mime` varchar(100) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `title` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
 
Возможно вы восстанавливаете дамп БД, на версию сервера отличную от той, на которой он был сделан.
Скорее всего, на более раннюю.
Серверу неизвестно данное сопоставление.
Попробуйте заменить в дампе COLLATE=utf8mb4_0900_ai_ci на COLLATE=utf8mb4_unicode_ci
и после этого восстановить БД.
 
Возможно вы восстанавливаете дамп БД, на версию сервера отличную от той, на которой он был сделан.
Скорее всего, на более раннюю.
Серверу неизвестно данное сопоставление.
Попробуйте заменить в дампе COLLATE=utf8mb4_0900_ai_ci на COLLATE=utf8mb4_unicode_ci
и после этого восстановить БД.
Сайт начальный - Режим работы PHP - FastCGI. Версия PHP - php74
Сайт восстанавливаемый - Версия PHP - php74
Из других отличий - разные панели управления. Первая - Фастпанель. Вторая - КлаудПанель.
На сайте, который пытаюсь перенести, таблица `ng41m_finder_types` совсем пустая.
И как можна в дампе заменить я не представляю понимания? Уж не обессудьте.
И еще. пытался базу через импорт\експорт. Тоже ошибка идет на эту таблицу.
А нет, другая таблица. Вот только что попробовал.
Это ошибка при импорте самой базы в ПХПАдмин.
Структура таблицы `ng41m_finder_filters`
--

CREATE TABLE `ng41m_finder_filters` (
`filter_id` int UNSIGNED NOT NULL,
`title` varchar(255) NOT NULL,
`alias` varchar(255) NOT NULL,
`state` tinyint(1) NOT NULL DEFAULT '1',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`created_by` int UNSIGNED NOT NULL,
`created_by_alias` varchar(255) NOT NULL,
`modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified_by` int UNSIGNED NOT NULL DEFAULT '0',
`checked_out` int UNSIGNED NOT NULL DEFAULT '0',
`checked_out_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`map_count` int UNSIGNED NOT NULL DEFAULT '0',
`data` mediumtext NOT NULL,
`params` longtext
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;



Ответ MySQL: Для просмотра ссылки Войди или Зарегистрируйся

#1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
 
Здесь дело не в версиях PHP, а в версии сервера баз данных.

И как можна в дампе заменить я не представляю понимания? Уж не обессудьте.
Если дамп не сжатый, то открыть его текстовым редактором и заменить поиском / заменой все строки COLLATE=utf8mb4_0900_ai_ci на COLLATE=utf8mb4_unicode_ci
Я не пользовался Akeeba. Но обычно, Backup скрипты выгружают дамп в вариантах: текстовой файл (*.sql), zip, gzip, bzip.
Если дамп сжат, то распаковать, сделать замену и запаковать обратно.
 
Здесь дело не в версиях PHP, а в версии сервера баз данных.


Если дамп не сжатый, то открыть его текстовым редактором и заменить поиском / заменой все строки COLLATE=utf8mb4_0900_ai_ci на COLLATE=utf8mb4_unicode_ci
Я не пользовался Akeeba. Но обычно, Backup скрипты выгружают дамп в вариантах: текстовой файл (*.sql), zip, gzip, bzip.
Если дамп сжат, то распаковать, сделать замену и запаковать обратно.
Большое спасибо. Буду пробовать.
дамп открыл нотепад++ и нашел уже несколько строк как раз в строках `ng41m_finder***
 
Назад
Сверху