powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / После удаления таблицы InnoDB не могу создать снова.
19 сообщений из 19, страница 1 из 1
После удаления таблицы InnoDB не могу создать снова.
    #39653069
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В 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
Или еще где-то. Вот как эти хвосты почистить? Или как выйти из ситуации?
Спасибо.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653094
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistесть таблица _cache_page . В ней возникли ошибки. Я не мог создать дамп базы. Соответственно решил ее уалить и создать снова. Удалить ее смог сразу и быстро, а вот создать не тут-то и было.olegspecialistENGINE=InnoDBВероятно, ошибка не столь в таблице, сколь в хранилище данных, где она живет. Предположу (не более), что установлен режим хранения всех таблиц InnoDB (см. значение innodb_file_per_table в конфиге) в одном файле и там возникли какие-то проблемы.

olegspecialistИ самое интересное что поменяв ее на MyISAM создается без проблем.Зная немного внутреннюю кухню MySQL, ничего интересного. Другой движок - другие принципы хранения данных.

olegspecialistВот как эти хвосты почистить?Сперва полный бэкап данных всего сервера! Заодно и видно будет, нет ли ещё проблемных таблиц. Хвосты или не хвосты и где именно - это надо сперва выяснить. Начать можно с логов и детального осмысления состояния сервера в целом. Потом уже решать, что и как делать.
Как относительно простой вариант, можно залить на "чистый" сервер полный бэкап, если он есть, конечно.

olegspecialistИли как выйти из ситуации?Если движок MyISAM устраивает - так вот он выход и есть. Если не устраивает, можно попробовать включить innodb_file_per_table хранение таблиц в отдельных файлах. Хотя, не факт, что на InnoDB не обнаружатся другие проблемы.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653212
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я тоже предполагаю, что ошибка в хранилище. А именно в БД information_schema. Например я ее удалил а в information_schema
есть запись об этой таблице
(104518,'post','post_cache_page',1,9,104516)
Может в этом все дело?
дампы я все сделал ошибок нет.
MyISAM или InnoDB - мне все равно. Но движек друпала создал InnoDB и работал. Вот и хотелось бы вернуть как было.
А не получается.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653262
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistСоответственно решил ее уалить и создать снова. Удалить ее смог сразу и быстро
как именно удаляли?

Ну и какие ошибки были до
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653273
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
update INNODB_SYS_TABLES SET NAME=post_cache_page2 WHERE TABLE_ID=104518;

Пробовал выполнить запрос, недает доступ к базе.
Access denied for user 'root'@'localhost' to database 'information_schema'

А как его получить?
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653335
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MelkijolegspecialistСоответственно решил ее уалить и создать снова. Удалить ее смог сразу и быстро
как именно удаляли?

Ну и какие ошибки были до
Удалял DROP TABLE IF EXISTS `post_cache_page`;
Ошибку уже не найду в ssh или напишите где посмотреть.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653368
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistЯ тоже предполагаю, что ошибка в хранилище. А именно в БД information_schema.Одно не есть часть другого. Сильно разные вещи.
olegspecialistНапример я ее удалил а в information_schema
есть запись об этой таблицеВероятно, из-за проблем удаление таблицы не прошло успешно.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653413
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleolegspecialistЯ тоже предполагаю, что ошибка в хранилище. А именно в БД information_schema.Одно не есть часть другого. Сильно разные вещи.
olegspecialistНапример я ее удалил а в information_schema
есть запись об этой таблицеВероятно, из-за проблем удаление таблицы не прошло успешно.
Это все предельно ясно!
А ответ на извечный вопрос - Что делать?
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653497
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistЭто все предельно ясно!Судя по предыдущим Вашим постам, весьма вряд ли.

olegspecialistЧто делать?
На выбор:
1. Оставить как есть. Ибо:olegspecialistMyISAM или InnoDB - мне все равно.2. Очистить хранлище данных до первозданного состояния и залить данные на сервер из бекапа. Инструкции в мануале есть.
3. Освоить администрирование сервера MySQL хотя-бы на среднем уровне и, анализируя ошибки, найти и устранить проблему. Кстати, хороший повод к углубленному изучению.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653595
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleolegspecialistЭто все предельно ясно!Судя по предыдущим Вашим постам, весьма вряд ли.

olegspecialistЧто делать?
На выбор:
1. Оставить как есть. Ибо:olegspecialistMyISAM или InnoDB - мне все равно.2. Очистить хранлище данных до первозданного состояния и залить данные на сервер из бекапа. Инструкции в мануале есть.
3. Освоить администрирование сервера MySQL хотя-бы на среднем уровне и, анализируя ошибки, найти и устранить проблему. Кстати, хороший повод к углубленному изучению.
Это супер ответы они мне помогли!!!!
Нравоучения на уровне, спс.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653780
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз.
Есть идеи как получить доступ к information_schema ?
Почему его нет, если пользователь root имеет grant privileg?
Да и если есть идеи как почистить хвосты после некорректного удаления в БД?
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653834
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistupdate INNODB_SYS_TABLES SET NAME=post_cache_page2 WHERE TABLE_ID=104518;

Пробовал выполнить запрос, недает доступ к базе.
Access denied for user 'root'@'localhost' to database 'information_schema'

А как его получить?Думаю, что никак.
https://dev.mysql.com/doc/refman/5.7/en/information-schema.html The INFORMATION_SCHEMA database contains several read-only tables. They are actually views, not base tables, so there are no files associated with them, and you cannot set triggers on them. Also, there is no database directory with that name.

Although you can select INFORMATION_SCHEMA as the default database with a USE statement, you can only read the contents of tables, not perform INSERT, UPDATE, or DELETE operations on them.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653836
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistИ самое интересное что поменяв ее на MyISAM создается без проблем.А если создать, а потом конвертнуть в InnoDB?
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39653845
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialist,

А команды SHOW TABLE STATUS и SHOW FULL TABLES что говорят на эту таблицу?
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39654046
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftolegspecialistИ самое интересное что поменяв ее на MyISAM создается без проблем.А если создать, а потом конвертнуть в InnoDB?

Скиньте команду конвертации плиз.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39654050
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftolegspecialist,

А команды SHOW TABLE STATUS и SHOW FULL TABLES что говорят на эту таблицу?
Таблицы с именем `post_cache_page` нету в списке.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39654058
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так в логе ругательства на то, что в кеше остались хвосты
180601 15:00:38 InnoDB: Warning: trying to init to the tablespace memory cache
InnoDB: a tablespace 109584 of name './post_rayony/post_cache_page.ibd',
InnoDB: but a tablespace 109561 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.
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39654060
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
olegspecialistmiksoftпропущено...
А если создать, а потом конвертнуть в InnoDB?

Скиньте команду конвертации плиз. https://dev.mysql.com/doc/refman/5.7/en/alter-table.html If t1 is currently not an InnoDB table, this statement changes its storage engine to InnoDB:


ALTER TABLE t1 ENGINE = InnoDB;
...
Рейтинг: 0 / 0
После удаления таблицы InnoDB не могу создать снова.
    #39654085
olegspecialist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftolegspecialistпропущено...


Скиньте команду конвертации плиз. https://dev.mysql.com/doc/refman/5.7/en/alter-table.html If t1 is currently not an InnoDB table, this statement changes its storage engine to InnoDB:


ALTER TABLE t1 ENGINE = InnoDB;
Ошибка при конвертировании лог:
180601 15:49:19 InnoDB: Error; possible reasons:
InnoDB: 1) Table rename would cause two FOREIGN KEY constraints
InnoDB: to have the same internal name in case-insensitive comparison.
InnoDB: 2) table `post`.`post_cache_page` exists in the InnoDB internal data
InnoDB: dictionary though MySQL is trying to rename table `post`.`#sql-648_4096c` to it.
InnoDB: Have you deleted the .frm file and not used DROP TABLE?
InnoDB: You can look for further help from
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
InnoDB: If table `poltava_rayony`.`lubny_cache_page` is a temporary table #sql..., then it can be that
InnoDB: there are still queries running on the table, and it will be
InnoDB: dropped automatically when the queries end.
InnoDB: You can drop the orphaned table inside InnoDB by
InnoDB: creating an InnoDB table with the same name in another
InnoDB: database and copying the .frm file to the current database.
InnoDB: Then MySQL thinks the table exists, and DROP TABLE will
InnoDB: succeed.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / После удаления таблицы InnoDB не могу создать снова.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]