Код ошибки MySQL: 1030 Получена ошибка -1 из механизма хранения; Я пытался удалить данные из моей базы данных - PullRequest
7 голосов
/ 01 ноября 2010

У меня есть база данных, включающая несколько таблиц, когда я хочу удалить данные из таблиц, в которых есть поле «Автоинкремент», используя этот запрос:

delete from test.table1 ;

Я получил эту ошибку:

 Error Code: 1030Got error -1 from storage engine

Почему это происходит?Что мне делать?

Ответы [ 11 ]

7 голосов
/ 01 ноября 2010

Попробуйте изменить значение innodb_force_recovery (в вашем /etc/my.cnf).

Ошибка -1 НИЧЕГО не говорит. Без кода создания ваших таблиц (SHOW CREATE TABLE table_name) нельзя сказать, где именно проблема.

3 голосов
/ 11 сентября 2013

Вы также получаете эту ошибку, если ваша файловая система заполнена.

1 голос
/ 12 июня 2015

Перейдите в /etc/my.cnf или /etc/mysql/my.cnf

Строка комментария innodb_force_recovery = 1

Сохраните файл и перезапустите mysql

1 голос
/ 30 января 2014

Я только что получил это, и это было связано с тем, что новая папка на диске SSD, куда я хотел, чтобы новая таблица была создана, была создана под root, а mysql работает под пользователем mysql. Так перейдите в вашу папку данных Чоун MySQL и это решает проблему.

0 голосов
/ 31 декабря 2018

Найдите значение innodb_force_recovery в /etc/mysql/my.cnf (для linux).если это 0 , удалите его или закомментируйте.

Пример

innodb_force_recovery = 0

изменить его на:

#innodb_force_recovery = 0

Ссылка:

InnoDB: включено innodb_force_recovery: мы не разрешаем InnoDB: изменения базы данных пользователем.

0 голосов
/ 31 декабря 2018

Вот как я это решил, у меня просто была та же ошибка:

  1. Открыть панель управления
  2. Выбрать Unistall Programs
  3. Щелкните правой кнопкой мыши и выберите «Удалить»в Microsoft Visual Basic Tools
  4. Перезагрузите компьютер
0 голосов
/ 17 мая 2017

Я вижу, что ни один ответ не был выбран в качестве правильного.

Я обнаружил, что в нашей конфигурации базы данных мы настроили innodb_force_recovery .Как только мы отключили / закомментировали его, запросы выполнялись, как и ожидалось.

0 голосов
/ 07 ноября 2016

Просто измените на

#innodb_force_recovery = 1

Это работает для меня.

0 голосов
/ 22 сентября 2016

ИСПРАВЛЕНО !! проверьте вашу память по df -h.также проверьте иноды df -i.если он заполнен, удалите несколько файлов.

0 голосов
/ 01 мая 2013

Я также встречал эту ошибку при удалении 2 строк из таблицы Innodb, только 2 конкретные строки не могут быть удалены.Я погуглил ошибку, но не могу найти лучшего решения.

Итак, я попробовал это:

  1. Создать резервную копию для моей базы данных (экспорт базы данных).

  2. Переустановка MySQL Server

  3. Восстановление моего БД (импорт БД).

  4. Тогда нет-1 ошибка механизма при удалении / обновлении.

Success ...

Я думаю, что ошибка может произойти из-за неверной конфигурации сервера MySQL относительно механизмов хранения.

Спасибо ....

...