MYSQL

glushakovma
На сайте с 09.11.2008
Offline
16
554

Пробовал востановить бекап одной из баз приобритеных под Dle вот только не знаю как состыковать старую с новой. может кто то подскажет ? Вот пробовал просто востановить приобритенный бекап - ошибка:

Неправильный запрос.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'PK' at line 1 (256)

В первой строке стоит правильный запрос, а не то что выдает Sql сервер. Пользуюсь Sypex Dumper Lite 1.0.8. Из май админа похожая беда. Кто чем поможет ?

KeTal
На сайте с 25.08.2005
Offline
54
#1
glushakovma:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near

Если в дампе ошибка, как тут написано, то ничем его не восстановить. Единственное, что может результат будет другим, если восстанавливать через шел на сервере (был такой случай).

1. Попробуйте удалить все комментарии из дампа. Если не получится, то

2. Скиньте начало своего дампа сюда

glushakovma
На сайте с 09.11.2008
Offline
16
#2

пробовал удалял все таблицы кроме постов. Начало дампа:


DROP TABLE IF EXISTS `dle_banned`;
CREATE TABLE `dle_banned` (
`id` smallint(5) NOT NULL auto_increment,
`users_id` mediumint(8) NOT NULL default '0',
`descr` text NOT NULL,
`date` varchar(15) NOT NULL default '',
`days` smallint(4) NOT NULL default '0',
`ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `user_id` (`users_id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=cp1251 */;

Таблица с постами:


DROP TABLE IF EXISTS `dle_post`;
CREATE TABLE `dle_post` (
`id` int(11) NOT NULL auto_increment,
`autor` varchar(40) NOT NULL default '',
`date` datetime NOT NULL default '0000-00-00 00:00:00',
`short_story` text NOT NULL,
`full_story` text NOT NULL,
`xfields` text NOT NULL,
`title` varchar(255) NOT NULL default '',
`descr` varchar(200) NOT NULL default '',
`keywords` text NOT NULL,
`category` varchar(200) NOT NULL default '0',
`alt_name` varchar(200) NOT NULL default '',
`comm_num` smallint(5) unsigned NOT NULL default '0',
`allow_comm` tinyint(1) NOT NULL default '1',
`allow_main` tinyint(1) unsigned NOT NULL default '1',
`allow_rate` tinyint(1) unsigned NOT NULL default '1',
`approve` tinyint(1) NOT NULL default '0',
`fixed` tinyint(1) NOT NULL default '0',
`rating` smallint(5) NOT NULL default '0',
`allow_br` tinyint(1) NOT NULL default '1',
`vote_num` smallint(5) unsigned NOT NULL default '0',
`news_read` mediumint(8) unsigned NOT NULL default '0',
`votes` tinyint(1) NOT NULL default '0',
`access` varchar(150) NOT NULL default '',
`expires` date NOT NULL default '0000-00-00',
`symbol` varchar(3) NOT NULL default '',
`flag` tinyint(1) NOT NULL default '1',
`editdate` varchar(15) NOT NULL default '',
`editor` varchar(40) NOT NULL default '',
`reason` varchar(255) NOT NULL default '',
`view_edit` tinyint(1) NOT NULL default '0',
`tags` varchar(255) NOT NULL default '',
PRIMARY KEY (`id`),
KEY `autor` (`autor`),
KEY `alt_name` (`alt_name`),
KEY `category` (`category`),
KEY `approve` (`approve`),
KEY `allow_main` (`allow_main`),
KEY `date` (`date`),
KEY `symbol` (`symbol`),
KEY `comm_num` (`comm_num`),
KEY `tags` (`tags`),
FULLTEXT KEY `short_story` (`short_story`,`full_story`,`xfields`,`title`)
) ENGINE=MyISAM AUTO_INCREMENT=5313 /*!40101 DEFAULT CHARSET=cp1251 */;
KeTal
На сайте с 25.08.2005
Offline
54
#3

glushakovma, переведите файл дампа в кодировку, в которой работает скрипт восстановления. Скорее всего в этом проблема, т.к. ошибок -то нет.

'PK

такие штуки обычно, когда кодировка разница. :)

glushakovma
На сайте с 09.11.2008
Offline
16
#4

я поставил force->cp1251 тобишь чтоб переводило в форсированом режиме в данную кодировку и в целом сесию...

glushakovma добавил 17.01.2009 в 02:29

Есть какие то идеи ?

KeTal
На сайте с 25.08.2005
Offline
54
#5

Очень трудно сказать что-то конкретное, не глядя. Мне все-таки кажется, что косяк кроется в кодировках.

Есть ли возможность загрузить дамп в базу через командную строку? База на Вашем компьютере или на хостинге?

Нужно выполнить команду

mysql -u -p DATABASE < DUMP

Если нет возможности, попробуйте написать на более специализированный форум, т.к. тут вопрос в том, сталкивался ли кто нибудь конкретно с такой проблемой. У меня через командную строку всегда все восстанавливалось (то что не восстанавливалось в phpmyadmin)

glushakovma
На сайте с 09.11.2008
Offline
16
#6

Как соединить две базы под дле ? Есть старая база и новая.

N
На сайте с 06.05.2007
Offline
419
#7

а что, те кто продают базы не научились нормально экспортировать ?

уж явно не волшебным скриптом за 2 бакса.

можно в новой базе "поднять" значение автоинкрементных полей id чтобы не пересекались со старыми и выгрузить ее.

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий