Задавайте вопросы, мы ответим
Вы не зашли.
В CMS Drupal есть таблица _cache_page . В ней возникли ошибки. Я не мог создать дамп базы. Соответственно решил ее уалить и создать снова. Удалить ее смог сразу и быстро, а вот создать не тут-то и было. Ошибка
ERROR 1005 (HY000) at line 25 in file: '/cache_page_start.sql': Can't create table 'post_cache_page' (errno: -1)
Query OK, 0 rows affected (0.00 sec)
ERROR 1146 (42S02) at line 41 in file: '/cache_page_start.sql': Table 'post.post_cache_page' doesn't exist
ERROR 1146 (42S02) at line 42 in file: '/cache_page_start.sql': Table 'post.post_cache_page' doesn't exist
ERROR 1146 (42S02) at line 43 in file: '/cache_page_start.sql': Table 'post.post_cache_page' doesn't exist
Содержимое файла cache_page_start.sql
--
-- Table structure for table `post_cache_page`
--
CREATE TABLE `post_cache_page` (
`cid` varchar(255) NOT NULL DEFAULT '',
`data` longblob,
`expire` int(11) NOT NULL DEFAULT '0',
`created` int(11) NOT NULL DEFAULT '0',
`headers` text,
`serialized` smallint(6) NOT NULL DEFAULT '0',
PRIMARY KEY (`cid`),
KEY `expire` (`expire`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `post_cache_page`
--
LOCK TABLES `post_cache_page` WRITE;
/*!40000 ALTER TABLE `post_cache_page` DISABLE KEYS */;
/*!40000 ALTER TABLE `post_cache_page` ENABLE KEYS */;
UNLOCK TABLES;
===============================================
И самое интересное что поменяв ее на MyISAM создается без проблем.
Подозреваю, что остались хвосты в таблице information_schema
Или еще где-то. Вот как эти хвосты почистить? Или как выйти из ситуации?
Спасибо.
Неактивен
Я предполагаю, что ошибка в хранилище. А именно в БД information_schema. Например я ее удалил а в information_schema
есть запись об этой таблице
(104518,'post','post_cache_page',1,9,104516)
Может в этом все дело?
дампы я все сделал ошибок нет.
MyISAM или InnoDB - мне все равно. Но движек друпала создал InnoDB и работал. Вот и хотелось бы вернуть как было.
А не получается.
Неактивен
update INNODB_SYS_TABLES SET NAME=post_cache_page2 WHERE TABLE_ID=104518;
Пробовал выполнить запрос, недает доступ к базе.
Access denied for user 'root'@'localhost' to database 'information_schema'
А как его получить?
Неактивен
INFORMATION_SCHEMA — это информационная база, из нее можно только читать. А вот с ошибками надо разбираться отдельно. Какие были ошибки (почему не удавалось создать дамп)? Как Вы удалили таблицу? Как Вы пытаетесь ее создать? Какая ошибка при этом возникает? В журнале ошибок MySQL може быть написана более подробная информация.
Неактивен
paulus написал:
INFORMATION_SCHEMA — это информационная база, из нее можно только читать. А вот с ошибками надо разбираться отдельно. Какие были ошибки (почему не удавалось создать дамп)? Как Вы удалили таблицу? Как Вы пытаетесь ее создать? Какая ошибка при этом возникает? В журнале ошибок MySQL може быть написана более подробная информация.
Лог mysql
========
180601 14:23:00 InnoDB: Warning: trying to init to the tablespace memory cache
InnoDB: a tablespace 109561 of name './post/post_cache_page.ibd',
InnoDB: but a tablespace 109538 of the same name
InnoDB: already exists in the tablespace memory cache!
InnoDB: We assume that InnoDB did a crash recovery, and you had
InnoDB: an .ibd file for which the table did not exist in the
InnoDB: InnoDB internal data dictionary in the ibdata files.
InnoDB: We assume that you later removed the .ibd and .frm files,
InnoDB: and are now trying to recreate the table. We now remove the
InnoDB: conflicting tablespace object from the memory cache and try
InnoDB: the init again.
======
Неактивен
есть ли у вас файл post_cache_page.frm?
включен ли режим innodb_file_per_table? (если да, то есть ли файл post_cache_page.ibd?)
сейчас можете создать дамп?
Неактивен