Сижу и матерюсь. Почему матерюсь? Не знаю. Или я такой тупой или серверы, точно сказать не могу, потому что уже ни они ни моя голова не варит. Купил новый хостинг. Решил переместить проекты на один хостинг. Сразу взялся за самый большой. Почитал про перенос. Скопировал файлы, задампил БД. Залил на хостинг файлы. Захожу в phpMyAdmin - импортирую БД, а он выдает ошибку. Постоянно. Я ему уже и в zip пихал БД и d GZIP, и без сжатия - ноль эмоций, загружает примерно до середины и все. Хотя ограничение по размеру на загрузгу - 15 мегабайт, а в сжатом виде БД занимает три мегабайта. Что делать уже не знаю. Сайт весь день стоит. Поисковики наверное туда бурятся, так как в последнее на него ссылок много было и трафик вырос (поэтому решил переехать на более качественный хостинг).
Подскажите, может я не одинок во вселенной и кто - то тоже так бился об pyhMyAdmin?
Текст выдаваемой ошибки:
--
-- Дамп данных таблицы `actions`
--
INSERT INTO `actions` ( `aid` , `type` , `callback` , `parameters` , `description` )
VALUES (
'comment_unpublish_action', 'comment', 'comment_unpublish_action', '', 'Снять с публикации комментарий'
), (
'node_publish_action', 'node', 'node_publish_action', '', 'Опубликовать'
), (
'node_unpublish_action', 'node', 'node_unpublish_action', '', 'Снять с публикации'
), (
'node_make_sticky_action', 'node', 'node_make_sticky_action', '', 'Закрепить вверху списков'
), (
'node_make_unsticky_action', 'node', 'node_make_unsticky_action', '', 'Удалить закрепление вверху списков'
), (
'node_promote_action', 'node', 'node_promote_action', '', 'Поместить на главную страницу'
), (
'node_unpromote_action', 'node', 'node_unpromote_action', '', 'Убрать с главной'
), (
'node_save_action', 'node', 'node_save_action', '', 'Сохранить сообщение'
), (
'user_block_user_action', 'user', 'user_block_user_action', '', 'Блокировать текущего пользователя'
), (
'user_block_ip_action', 'user', 'user_block_ip_action', '', 'Запретить IP адрес текущего пользователя'
);
Ответ MySQL:
#1062 - Duplicate entry 'comment_unpublish_action' for key 1
Комментарии
Ты не одинок.
http://sypex.net/
Дамп у меня есть, почему его нельзя импортировать?
Перед тем как дампить базу сделай оптимизацию всех таблиц, потом исправить все таблицы. Потом отремонтировать или как то так оно называется в phpmyadmin. Возможно исправится дубликат записи, имхо...
У меня один хостер имеет кривую версию phpMyAdmin, имел туже проблему, потому сам скачал последнюю версию, установил в исходный и целевой хостинг, и перенес базу. Не помню ставил ли я какие опции при экспорте, вроде дефолтные галки стояли.
Но сперва сделать то что советует logrise@drupal.org
http://sypex.net/ - очень удобный дампер проблем с ним никогда не имел
http://www.mysqldumper.de/en/ - немецкий бесплатный дампер + SQL browser в одном флаконе. Только не забудь защитить директорию с дампером паролем, а то он по умолчанию открыт для всех.
Проблема в том, что при создании дампа вы (или не вы) указали параметр --skip-disable-keys.
Вариантов решений как всегда несколько:
Лично я так делаю дамп:
А восстанавливаю так:
mysql -uUSER -hHOST -pPASSWORD DATABASE-NAME < ./dump.sql
Попросите хостера, чтобы открыл вам шел (SSH) и не пользуйтесь хостингом, если его нет.
Шел существенно облегчает жизнь веб-мастеру.
Кроме того, здесь описаны ещё варианты восстановления из дампа: Восстановливаем базу данных.
Перед заливкой дампа, вычистите таблицы:
cache
cache_content и т.д. которые начинаются на cache,
search_ ... аналогично,
watchdog.
это облегчит Вашу базу процентов на 40.
Попробовал. Оптимизировал, исправил, сдампил с помощью sypex дампера - не помогло.
Кроме этого обязательно почистить кеш, glu2006 очень правильно подметил
Так а какие сейчас пролемы? Не импортируэться база?
Нет. застрявает на 46 строке из 78 (((
Попробуйте любой сторонней программой импортировать/экспортировать. Например:
http://www.mysqlfront.de
http://www.heidisql.com
http://sypex.net хорош до 300-400Mb дальше проблемно, да и таймаут на PHP у некоторых провайдеров мешает
Ashina, ну ты б и ошибку привел... какая?
а у меня Касперский блокировал импорт ДБ (это я уже потом сообразил)
#1062 - Duplicate entry 'comment_unpublish_action' for key 1,
выгружаешь антивирус и все импортировалось.
Подпишусь под каждым словом - шикарный скрипт
ребята. проблема. так и не решил
Дампер загружает только 81 таблицу из 157 и все. остальрные вручную загоняю...
и это при том. что в my.cnf на денвере поставил max_packet_limit 64мб в двух местах. а до этого вообще ошибку выдавал сайпекс дампер...
что же делать, база в зипе 1.4 мб, а гз 17 мб. и такая фигня...
понмю када то давно все получалось
решил подобную проблему следующим образом:
1. удалил все данные из всех таблиц БД
2. Импортировал из резервной копии
Скрипт по выполнению первого пункта получил с помощью кода:
select concat("delete from ", TABLE_NAME, ";") from information_schema.tables
where TABLE_SCHEMA = 'имя бд'
and TABLE_TYPE = 'BASE TABLE'