оптимальный вариант, это не допускать такую ошибку, но иногда случается. Как не тратить много времени на то, чтобы удалять БД?
Can't execute the given command because you have active locked tables or an active transaction
Это не то чтобы ошибка, скорее информационное сообщение. Вы пытаетесь дропyть базу, при этом есть транзакция, которая либо что-то реально выполняет в этой конкретной бд и пользуется таблицами, либо висит и ничего не делает, но при этом держит блокировки на таблицы в бд. Самое простое, что можно сделать - посмотреть через "show processlist", что там у вас выполняется, понять, какой именно процесс держит блокировки (выполняется) и убить его командой "kill Id" (вместо Id подставить значение из аутпута show processlist соответствующего процесса)
НУ я знаю, что держит- блокировка. Получается, что запрос до конца не выполняется и транзакция висит в этой блокировки, ну а это происходило, потому что данных не было, которые должны были подставляться. И я не зная, как с этим бороться, удалял БД, пытался понять в чем проблема, снова запускал, ну и так дале. А удаление было очень долгим, наверно, потому что истекало время автоснятия блокировки. И когда это всё само удалялось, то и бд тоже. А за команду kill спасибо
Обсуждают сегодня