Частенько можно услышать о, так называемом, профилировании медленных запросов в MySQL. Что же такое профилирование в нашем контексте? А это просто ведение журнала медленных запросов. В MySQL версии 5.6 введен новый способ логирования медленных запросов. В этой заметке опишу как правильно его настроить.
Заходим на сервер и в любимом редакторе открываем файл my.cnf. В зависимости от дистрибутива, он может находится либо по пути /etc/my.cnf для CentOS, либо в /etc/mysql/my.cnf для Debian.
В секции [mysqld] прописываем следующее:
Небольшой кусочек конфига сервера 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 утерян. Я таком случае мы можем его изменить.
Для этого необходимо выполнить несколько действий.
Останавливаем mysql:
service mysql stop
Запускаем mysql с ключем --skip-grant-tables в фоновом режиме :
$ /usr/bin/mysqld_safe --skip-grant-tables --user=root &
Заходим в mysql от пользователя root (пароль запрашиваться не будет):
mysql -u root
Меняем пароль и применяем привилегии:
Узнать типы движков в установленной MySQL и какой из них установлен по умолчанию:
#mysql -u root -p
mysql> SHOW ENGINES; +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
Для 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
В жизни бывает всякое, в том числе и утеря паролей. Как сбросить пароль пользователя администратор (admin) в ISPConfig 3.х. Если в версии 2.х все было легко и просто (заходили в консоль сервера и меняли пароль пользователя admin командой passwd admin), то в весрии 3.х так просто этого сделать не получиться, потому что система не создает локального пользователя admin. Пользователи и пароли хранятся в базе данных MySQL под названием dbispconfig. Вот что нужно сделать чтобы сменить пароль:
Заходим в MySQL шел как root:
Сегодня мы рассмотрим установку php 5.3.6 и сопутствующих пакетов на CentOS 5.5
В стандартных репозитариях их нет, но, к счастью, существуют сторонние в которых они присутствуют. Вот и подключим их.
Первым делом подключаем репозитарий EPEL (Extra Packages for Enterprise Linux):
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Для 64-х битных систем устанавливаем репозитарий отсюда:
Так повелось, что в мире хостинга , самой популярной базой данных, де факто стала база mysql. Простота установки , бесплатность, а главное, высокая скорость работы, сделали ее одной из наиболее часто используемых баз данных в мире хостинга. Она может многое, работает быстро, но, без должной изначальной настройки может стать очень узким местом. А отсюда может тянуться и медленная загрузка страниц сайта, и ошибки на страницах вида "Too many active connections".
Иногда у владельцев выделенных серверов или системных администраторов возникает необходимость смены пароля пользователя root в mysql. Например вследствие компроментации пароля. После смены пароля внезапно перестает правильно работать панель управления ISPConfig.
Исправить эту ситуацию можно довольно просто. Открываем в любимом редакторе файл:
/home/admispconfig/ispconfig/lib/config.inc.php
находим там строку:
$go_info["server"]["db_password"] = "тут_ пароль_указан";
Многим владельцам выделенных серверов, а также их клиентам частенько приходится иметь дело с базой данных mysql. Приведу несколько команд для сохранения и восстановления баз в mysql. Полный дамп всеx баз в mysql.
/usr/bin/mysqldump --all-databases -u root -p > alldatabases.sql
Восстановление всех баз:
/usr/bin/mysql -u root -p < databasebackup.sql
А если, к примеру, нам необходимо сохранить одну базу которая называется mybase и для которой имя пользователя myuser: