Ребята, подскажите Есть MySQL, в котором несколько баз. В одну из них

(InnoDB) копировались данные из другой базы (из таблицы в таблицу):
INSERT INTO base1.table SELECT * from base2.table

Копирование длилось ~ 12 часов, и в какой-то момент операция прервалась с ошибкой, что мол таблица повреждена и теперь (даже после перезапуска сервера)
mysqld съдает 100% CPU и не открывает подключения (Unable to connect to localhost).
Я так понимаю, что он откатывает изменения, но это продолжается уже 5 суток. В логах ничего нет.

Мне на самом деле эти конкретные базы (base1 и base2) не нужны (я могу восстановить их из резервной копии).
Как мне отменить эту операцию отката и просто запустить сервер, чтобы работали все мои другие базы?

16 ответов

24 просмотра

Это ещё надо доказать, что там что-то происходит, а не дедлок

Рома- Автор вопроса
Vladislav Sh.
Это ещё надо доказать, что там что-то происходит, ...

а как узнать? к бд подключиться не могу мб какой-то уровень детализации в логах повысить?

Рома
а как узнать? к бд подключиться не могу мб какой-т...

/var/log/mysqld.log Можно отсюда начать, дальше я не так сильно шарю к сожалению

Рома
а как узнать? к бд подключиться не могу мб какой-т...

С чего подключиться не можете? Место свободное есть?

Рома
а как узнать? к бд подключиться не могу мб какой-т...

Для начала смотреть в error log, как выше и написали, чтобы понять, что происходит при запуске. Потом, возможно, использовать innodb_force_recovery - https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html Но не советую бежать и сразу играться с переменной, пока не понятно, что там вообще происходит. Так что в первую очередь обязательно error log смотреть. Касаемо уровня логирования, он выставляется вот этой переменной - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_error_verbosity

Это сервер откатывает транзакции, что не удалось завершить, почти наверняка. Жди.

Отменить - просто установить сервер с нуля

Рома
а как узнать? к бд подключиться не могу мб какой-т...

Смотри в логи сервера, там всё написано

Рома- Автор вопроса
Ilya Zviagin
Отменить - просто установить сервер с нуля

а с текущими бд как быть? я их и забэкапить не могу сейчас

Рома
а с текущими бд как быть? я их и забэкапить не мог...

Никак. Либо стирай всё, либо жди когда откатится транзакции

Рома
в логах пусто

В логах что-то да должно быть

Рома- Автор вопроса
Ilya Zviagin
В логах что-то да должно быть

я подозреваю что уровень детализации низкий, но если повысить и ребутнуть, то заново начнёт откатывать. скоро 6е сутки пойдут!

Рома
я подозреваю что уровень детализации низкий, но ес...

Нет там достаточный уровень чтобы всё что надо выводить

Рома- Автор вопроса
Ilya Zviagin
Нет там достаточный уровень чтобы всё что надо выв...

# tail -f /var/log/mysql/error.log 2023-08-03T06:15:22.769281Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.26-0ubuntu0.20.04.2) starting as process 1039454 2023-08-03T06:15:22.782695Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.

Рома
а с текущими бд как быть? я их и забэкапить не мог...

Если очень не терпится, то innodb_force_recovery про который я уже писал. В ссылке выше все написано, какие значение что делают: innodb_force_recovery=3 - скипает rollback транзакций innodb_force_recovery=5 вообще не смотреть в undo, считать, что все транзакции «закоммичены» Любое значение выше 3 с высокой долей вероятности «закораптит» файлы данных, потому что данные будут не консистентны. Но сервер поднимется, можно будет сделать дамп. В вашем случае, если проблема в одной таблице, то ставить параметр в 3, поднимать и дропать эту таблицу. Такой сценарий порямо там же описан, но кто бы читал…

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта