Архив метки: How to

Полезные команды MySQL

Моя подборка полезных команд для MySQL.

Узнать размер базы данных

SELECT table_schema "DB Name",
Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"
FROM   information_schema.tables
GROUP  BY table_schema
ORDER BY Round(Sum(data_length + index_length) / 1024 / 1024, 1) DESC;

Выводим 15 наиболее фрагментированных таблиц

Читать

Защищаем Apache2 от SlowLoris DDoS

Что такое SlowLoris

У вас случалось такое, когда на сервере нагрузки нет, свободной памяти достаточно, и при этом ваш сайт не открывается?

Если при этом на статусной страничке апача все треды в состоянии R (reading), весьма вероятно, что вы находитесь под атакой SlowLoris.

SlowLoris означает, что злоумышленники открывают множество коннектов к серверу, однако не посылают много-много запросов, а, наоборот, посылают один и медленно-медленно. В таком случае серверу не остается ничего другого, кроме как ждать, когда же вы запрос наконец придёт. А он всё не приходит и не приходит.

В результате все треды (или потоки) апача заняты тем, что ждут, когда же всё-таки запрос придёт. Читать

Падение SKYPE 64 bit в Linux Mint 16 Cinnamon

После установки Mint 16 Cinnamon 2.0 в Скайпе при совершении тестового вызова, ну или просто разговора с кем-либо — последний постоянно падал. Это касается только 64-битной версии. Причиной является отсутствие пакета libasound2-plugins:i386.

Путем раскуривания манов на офсайте Скайпа было найдено следующее решение. Тупо открываем терминал и копипастим туда следующую команду: Читать

Не собирается mdraid — resync=PENDING

Оказывается, resync=PENDING, из-за которого не собирается и не ребилдится mdraid-массив, очень легко победить.
Для этого достаточно выполнить команду:

mdadm —readwrite /dev/mdX

где X — номер массива, например, /dev/md1.
И после этого массив сразу начинает собираться:

 md1 : active raid1 sda2[1] sdb2[0] 943587136 blocks super 1.2 [2/2] [UU] [>………………..] resync = 1.2% (12186176/943587136) finish=182.4min speed=85095K/sec

Автор: AlexWinner

Исправляем ошибку "sorry, you must have a tty to run sudo"

Внезапно столкнулся с тем,  что из крона не отрабатывал скрипт, который прекрасно отрабатывал из консоли. Выдавал в STDERR указанную ошибку-  sorry, you must have a tty to run sudo.
Проблема решается изменением файла /etc/sudoers. Для его изменения рекомендую использовать утилиту visudo, а не править редактором напрямую. Находим строку:

Defaults    requiretty

И закомментируем её:

#Defaults    requiretty

И всё, sudo отлично работает из под cron.

Примечание: на самом деле, лучше переписать скрипты без использования sudo, поскольку эта закомментирование этой директивы наносит некоторый ущерб безопасности сервера:

# Disable «ssh hostname sudo «, because it will show the password in clear.
#         You have to run «ssh -t hostname sudo «.

Автор: AlexWinner

CentOS / Fedora — исправляем ошибку yum: database disk image is malformed

Проблема

Столкнулся с ошибкой, когда yum после команды yum update стал выдавать ошибку:

Error: database disk image is malformed
You could try using —skip-broken to work around the problem
You could try running: rpm -Va —nofiles —nodigest

Попытки решения

Указанные в этом выводе команды не помогли.
Нагугленные команды типа:

 mv /var/lib/rpm/__db* /tmp
rpm —rebuilddb

или

 yum history new

также не помогли.

Решение

В итоге решение проблемы пришло в виде команды:

 yum clean dbcache

Однако после неё вылезла другая ошибка:

sqlite3.OperationalError: table trans_beg already exists

Она решилась с помощью команды

 yum history new

 

Автор: AlexWinner
Дата публикации: 2013-04-21T14:28:00.000-07:00