Принудительно отбрасывать базу данных [без ifs ands или buts] - PullRequest
0 голосов
/ 04 марта 2020

У меня есть промежуточный сервер, на котором мне нужно удалить базу данных и повторно заполнить ее различными таблицами. Обычно это так просто, как:

DROP DATABASE testbd;

Однако, как правило, всякий раз, когда я отбрасываю промежуточную базу данных, к ней подключается около 100 (действительных) подключений, и мне это безразлично. Есть ли надежный способ сделать drop database, не выясняя, есть ли открытые транзакции, или это, или то?

Я думал, что концептуально выполняю что-то вроде следующего:

# get a global lock on everything -- no one except me can do anything now
CREATE LOCK

# get all active connections and then kill them
select concat('CALL mysql.rds_kill( ',id,');') from information_schema.processlist where DB='avails';
-- run each select statement

# drop the database
DROP DATABASE testdb

# if this is required?
END LOCK

Выше приведен псевдокод, но я в основном ищу способ выдать команду и базу данных. упасть в течение 5 секунд безотказным способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...