Включаем профилирование (log) медленных запросов в MySQL 5.6

Частенько можно услышать о, так называемом, профилировании медленных запросов в MySQL. Что же такое профилирование в нашем контексте? А это просто ведение журнала медленных запросов. В MySQL версии 5.6 введен новый способ логирования медленных запросов.  В этой заметке опишу как правильно его настроить.

Заходим на сервер и в любимом редакторе открываем файл my.cnf. В зависимости  от дистрибутива, он может находится либо по пути /etc/my.cnf для CentOS, либо в /etc/mysql/my.cnf для Debian.

В секции [mysqld] прописываем следующее:

настройка логов в MariaDB

Небольшой кусочек конфига сервера MariaDB, касательно логов вообще и лога медленных запросов в частности. Конфиг находится по пути /etc/my.cnf.d/server.cnf Дистрибутив: CentOS 7.

#General Query Log
general_log
general_log_file        = /var/log/mariadb/mysql_query.log

#Error Log
log_error               = /var/log/mariadb/mysql_error.log

#Slow Query Log
log-slow-queries
slow_query_log          = 1
slow_query_log_file     = /var/log/mariadb/mysql_slow.log
long_query_time         = 2
log-queries-not-using-indexes

Сброс пароля root mysql в debian

Иногда случается ситуация, когда пароль для пользователя root в mysql утерян. Я таком случае мы можем его изменить.

Для этого необходимо выполнить несколько действий. 
Останавливаем mysql:

service mysql stop

Запускаем mysql с ключем --skip-grant-tables в фоновом режиме :

$ /usr/bin/mysqld_safe --skip-grant-tables --user=root &

Заходим в mysql от пользователя root (пароль запрашиваться не будет):

mysql -u root

Меняем пароль и применяем привилегии:

Настраиваем вывод статистики в nginx.

Многие администраторы пользуются модулем mod_status в apache для просмотра состояния сервера.

В nginx есть примерно такой  же модуль. Называется ngx_http_stub_status_module. Конечно же, информации он дает значительно меньше, но, в любом случае, это лучше чем ничего.

Как проверить включен ли нужный нам модуль ? Выполняем команду:

nginx -V 

И в полученном выводе смотрим наличие соответствующего модуля. Если в выводе присутствует:

Отключение motd в Ubuntu 14.04 (Ускоряем login по ssh)

Идем в

/etc/pam.d/login
/etc/pam.d/sshd

И удаляем строки в вида:
session optional pam_motd.so

После чего удаляем, непонятно почему, до сих пор, присутствующие компоненты платного мониторинга:

aptitude remove landscape-client landscape-common

Также можно подредактировать файл /etc/ssh/sshd_config
на предмет строки

PrintMotd yes

Перегружаем ssh:

service ssh restart

Вот и все. После этих нехитрых действий, скорость логина по ssh значительно увеличивается.

Отключаем дисковые квоты на всем сервере в Virtualmin

Иногда, когда на выделенном сервере ты сам себе хозяин и нет никого постороннего, дисковые квоты просто мешают. К счастью их достаточно легко можно выключить.
Первым делом идем System Settings -> Virtualmin Config -> Server Settings и выставляем значение "Set quotas for domain and mail users" в "No".
medium_virtquotas.png

MySQL. Типы движков

Узнать типы движков в установленной MySQL и какой из них установлен по умолчанию:

#mysql -u root -p

mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

Исходный my.cnf

Для ubuntu 14.04 с отключенным innodb, установленной кодировкой по умолчанию unf8 и немного подправленным конфигом для myisam.

/etc/mysql/my.cnf

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock
default-character-set=utf8

[mysqld_safe]
socket          = /var/run/mysqld/mysqld.sock
nice            = 0

[mysqld]

character-set-server=utf8
init-connect='SET NAMES utf8;'
collation-server=utf8_general_ci
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock

3G USB modem HUAWEI E173 и Сentos 6.x. Танцы с бубном.

huawei-e.jpg
Недавно возникла задача по подключению 3G модема Huawei E173 к системе с CentOS 6.4.
Почитал немного мануалы. По идее, все легко должно делаться с помощью NetworkManager.
Но это по мануалам... На самом деле возникли некоторые сложности, которыми я решил поделиться в этой заметке.

RSS-материал