Авторская информация о системном администрировании.
> use db;
> drop table00 table01, table02;
Если таблиц немного, то можно поступить и так. Но если их много, то нужен какой-то другой способ. Можно изобрести или поискать какой-то готовый велосипед на bash. Я предлагаю вам свой 😁
Берём mysqldump и делаем дамп только структуры, добавляя информацию об удалении таблиц перед их созданием:
# mysqldump --add-drop-table --no-data db
Теперь получить консольные команды на удаление всех таблиц базы данных проще простого. Грепаем получившийся дамп:
# mysqldump --add-drop-table --no-data db | grep ^DROP
То есть выводим все строки, которые начинаются с DROP. Это как раз то, что нам нужно.
Далее можно либо взять только нужные строки с определёнными таблицами для удаления, либо сразу весь вывод отправить в консоль mysql и удалить все таблицы, оставив саму базу данных:
# mysqldump --add-drop-table --no-data db | grep ^DROP | mysql db
Не забудьте добавить авторизацию, если у вас она не настроена каким-то другим способом:
# mysqldump -uuser -ppassword --add-drop-table --no-data db \
| grep ^DROP | mysql -uuser -ppassword db
Таким простым способом, без скриптов, можно прямо в консоли сервера удалить все таблицы из базы данных mysql, не удаляя саму базу.
❓Может возникнуть вопрос, а почему не удалить всё же базу и не создать заново. Причин может быть несколько:
1️⃣ У вас нет прав на создание и удаление баз данных (наиболее частый случай).
2️⃣ Не помните точно параметры базы данных, не хочется вспоминать, искать, как создать новую базу данных с теми же параметрами, что стоят у текущей (мой случай).
Если у вас есть какое-то свое простое решение по удалению таблиц из базы, делитесь в комментариях.
#terminal #mysql# goatcounter import -follow -format=combined \
-exclude=static -site='https://MYCODE.goatcounter.com' \
/var/log/nginx/access_log
Я знаю, что анализаторов веб логов существует великое множество. Сам то я анализировал логи Apache на Freebsd еще лет 15 назад с помощью Webalizer и AWStats. Эти продукты и сейчас могут нормально работать, потому что формат логов не изменился. В данном случае GoatCounter представляет и ту, и другую возможность. Хочешь скриптом собирай, хочешь из логов инфу бери. Потом можно сравнить результат.
GoatCounter написан на Go, не имеет внешних зависимостей. Достаточно запустить бинарник в режиме сервера. Хранить данные может в SQLite или PostgreSQL.
Сайт - https://www.goatcounter.com
Исходники - https://github.com/arp242/goatcounter
#websitedeb [trusted=yes] https://mirror.yandex.ru/mirrors/elastic/8/ stable main
К сожалению, не увидел там rpm репозитория, только deb. Конкретно для меня это не критично, так как использую теперь везде Debian.
В разделе mirrors яндексовского зеркала много в том числе санкционного софта. Я как-то вообще не замечал его существования. Всегда использовал это зеркало только для дистрибутивов. А там оказывается копии реп для docker, ceph, kubernetes и т.д. есть.
Продукты Hashicorp тот же Яндекс поместил в своё зеркало Yandex Cloud -hashicorp-releases.website.yandexcloud.net… Почему-то отдельно положили, а не на mirror.yandex.ru.# curl http://ip-api.com/json/1.1.1.1
Чтобы получился красивый вывод, можно использовать jq:
# curl http://ip-api.com/json/1.1.1.1 | jq
Все возможные форматы запросов и ответов можно посмотреть в документации. Можно, к примеру, явно указать, какие поля ответа вы хотите получить, чтобы потом у себя не приходилось самому обрабатывать ответ и убирать лишние поля.
Индийский товарищ по имени Rajkumar Dusad написал небольшой софт (IP-Tracer) на php, который через этот сервис проверяет IP адреса в консоли, причём в том числе на смартфонах с использованием Termux. Не знаю, кому этот софт может понадобиться, но звездочек на гитхабе у него полно. Про ip-api.com я узнал как раз, когда наткнулся на эту утилиту. Решил посмотреть, откуда она информацию берёт.
Ограничение ip-api.com - не более 45 запросов в минуту. Кому надо больше - добро пожаловать на платные тарифы.
#сервис #бесплатно