Вчера заливал готовый drupal-сайт на хостинг. Нужно было перекинуть БД через интерфейс phpmyadmin (по другому никак). Все стопорилось на дампе таблицы locales_target. За ночь я проклял интернет-провайдера, хостинг-провайдера, разрабов mysql и phpmyadmin
Для тех, кто может столкнуться с этим:
У себя__
- удаляете на сайте русский язык
- делаете бэкап БД через dumper, исключая таблицы locales_source и locales_target
На хостинге__
- импортируете бэкап БД через phpmyadmin
- заливаете сайт на сервер
- [имя пользователя, пароль, имя базы храняться в settings.php]
- создаете таблицы locales_source и locales_target при помощи sql запросов
CREATE TABLE `locales_source` (
`lid` int(11) NOT NULL auto_increment,
`location` varchar(255) NOT NULL default '',
`textgroup` varchar(255) NOT NULL default 'default',
`source` blob NOT NULL,
`version` varchar(20) NOT NULL default 'none',
PRIMARY KEY (`lid`),
KEY `source` (`source`(30))
) ENGINE=MyISAM AUTO_INCREMENT=3986 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3986 ;CREATE TABLE `locales_target` (
`lid` int(11) NOT NULL default '0',
`translation` blob NOT NULL,
`language` varchar(12) NOT NULL default '',
`plid` int(11) NOT NULL default '0',
`plural` int(11) NOT NULL default '0',
PRIMARY KEY (`language`,`lid`,`plural`),
KEY `lid` (`lid`),
KEY `plid` (`plid`),
KEY `plural` (`plural`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;*запросы можно получить через экспорт таблицы в phpmyadmin
- добавляете русский язык
Комментарии
У меня этот dumper не сработал, так что пользую друпаловские модули типа Backup&Migrate
Что за база была? У меня макс пока было 87 мб в bzip2 (сама база форума ~ 20 метров, плюс поисковый индекс), нормально всё обрабатывается, и кодировки правильно импортирует/экспортирует.
Обычная база ~2МБ, не больше, но выдал километровую ошибку, при восстановлении, кажется (давно было)...
Создание бэкапа - проходит нормально, а при восстановлении ошибка. Причем восстановить хотела прямо сразу, не отходя от кассы, но тест не удался...
Все нормально проходит. С русским проблем нет.
Бывают такие проблемы.
Спасало выставление сравнения базы в UTF8. У хостеров всегда win.
Пару раз даже сам дамп ручками правил. Правда, не помню, что там было.
Помогает также раздельный перенос.
Еще всегда чищу таблицы cache - они иногда здоровенные, больше чем вся остальная инфа.
Я тоже чищу, что только можно и оптимизирую таблицы.
Можно также делать дамп только одной или нескольких таблиц, если они большие.
Экспериментально вычислил, что, если архив дампа больше 200 кб, то phpMyAdmin не может его на сервере обработать.
Поэтому использую Sypex dumper или подобные.
Вот моя статья о восстановлении дампа на сервере с описанием разных методов: Восстановливаем базу данных.