Вы можете использовать mysqldump для генерации списка операторов DROP TABLE, отфильтровать те, которые вам не нужны, и затем направить их обратно в клиент mysql. Вот как мы это создаем
Во-первых, вот список операторов таблицы DROP TABLE для базы данных
mysqldump -uUSERNAME -pPASSWORD--add-drop-table --no-data DATABASE| \
grep ^DROP
Теперь мы можем передать это через grep с -v, чтобы инвертировать совпадение - нам нужны операторы, которые не упоминают таблицы, которые мы сохраняем (другим способом сделать это были бы опции --ignore-table для mysqldump)
mysqldump -uUSERNAME -pPASSWORD--add-drop-table --no-data DATABASE| \
grep ^DROP |
grep -v 'foo\|bar'
Наконец, если вы уверены, вы можете отправить это обратно в MySQL
mysqldump -uUSERNAME -pPASSWORD--add-drop-table --no-data DATABASE| \
grep ^DROP | \
grep -v 'foo\|bar' | \
mysql -uUSERNAME -pPASSWORD DATABASE