Category: mysql

Июл 27 2010

График нагрузки MySQL в MRTG

Информация о нарузке в любом случае информативна в виде графика. Есть специальный порт, добавка к MRTG для построения графика загрузки MYSQL. С его помощбю удобно отслеживать распределение нарузки по времени. А потом уже с помощью других инструментов, типа mtop, уже можно отслеживать, что именно грузит ваш сервер.
Поставим mrtg-mysql-load из портов.

cd /usr/ports/databases/mrtg-mysql-load
make install clean

Теперь сделаем в MySQL е пользователя, который будет снимать показания:

 grant process on *.* to 'mrtg'@'localhost' identified by 'mrtg-777';

Read more »

Июл 23 2010

Утилита анализа нагрузки MySQL — mtop

Есть в портах утилита визуального контроля нагрузки на MySQL mtop. Она в реальном времени отслеживает и показывает текущие запросы, время их выполнения, статус самого MySQL в удобной форме.
Установка и настройка простые. Ставим из портов:

cd /usr/ports/databases/mtop/
make install clean

Теперь вы MySQL сделаем специального пользователя.

mysql -uroot -p
grant process on *.* to 'mtop'@'localhost' identified by 'mtop-777';

Теперь можно запустить mtop и посмотреть что получим:

mtop -dbu mtop -p mtop-777

в параметре -dbu мы вводим пользователя
-p — пароль этого пользователя

И теперь можем наблюдать динамику процессов в MySQL.
При этом быстрые запросы подсвечены серым цветом и потом по мере роста длительности выполнения цвет начинает меняться, если запрос выполняется более 10 секунд он окрашивается фиолетовым, более 20 секунд — желтым, более 40 секунд — красным, могу точно сказать что красным окрашены запросы длительностью до 90 секунд, более длительных запросов в mtop я не наблюдал. Утилита очень хорошо визуально демонстрирует проблемные места в работе MySQL.
Так же очень хорошо видны такие показатели как число процессов (threads) и сколько из них активны (running), сколько процессов закешированны(cached), сколько запросов поступило и сколько из них медленных(Queries/slow:) и какова эффективность кеша запросов(Cache Hit:)
И из этих показателей уже можно сформировать вывод об эффективности работы MySQL и что в ней еще можно подкрутить или отправиться к програмистам для оптимизации запросов.

Ноя 02 2009

MySQL. Кеш запросов.

Переодически встречаюсь с серверами на которых при, казалось бы, незначительной нагрузке все тормозит. Одной из причин, зачастую является, отключенный кеш запросов MySQL. Это тот кеш, куда MySQL при выполнении запроса, помещает готовый ответ. И, если у вас на сайте выполняется регулярно один и тот же запрос, то при работе MySQLю, не нужно будет рыться по всем индексам и таблицам, собирая этот сложный запрос, он будет готовым находится в памяти.
Для того, что бы проверить включен или нет кеш, нужно подключится к MySQL и запрос:

show variables like 'query_cache%';

Read more »

Сен 23 2009

Сброс счетчика AUTO_INCREMENT в MySQL

Что бы установить счетчик AUTO_INCREMENT в 0, достаточно выполнить команду:

ALTER TABLE <table_name> SET AUTO_INCREMENT=0;

Только замените на имя вашей таблицы.

Янв 26 2009

Важные команды MySQL

Любой администратор работающий с MySQL, обязательно должен знать эти команды:
Команда показывает полную структуру таблицы, включая индексы.

SHOW CREATE TABLE < имя таблицы>;

Команда показывает краткую информацию по таблице, только описание полей.

DESCR < имя таблицы>;

Создать базу:

CREATE DATABASE < имя базы>;

Команда LIMIT ограничивает вывод одной, первой записи.

SELECT * FROM < имя таблицы> LIMIT 1;

Read more »

Ноя 25 2008

Как восстановить потерянный рутовый пароль к mysql

Если вы потеряли пароль к mysql или ваш предшественник, вам его не передал, заменить его можно так.
Сначала остановим mysql:

/usr/local/etc/rc.d/mysql stop

Теперь запустим его в режиме игнорирования прав:

/usr/local/bin/mysqld_safe --skip-grant-tables

Read more »

Ноя 21 2008

MySQL, установка, первичная настройка

MySQL. на сегодняшний день самый популярный SQL сервер. В портах FreeBSD присутствуют все ветки MySQL начиная с 3.23 и заканчивая 6.0. Устанавливать мы будем, самую стабильную, на мой взгляд, 5.0.
Начнем сразу с установки сервера. Во многих источниках рекомендуют сначала установить mysql-клиента, но устанавливая MySQL последние два года, я не видел ни одной проблемы при установке сразу сервера. Клиента он собирает автоматически, как составную часть сервера.
Read more »

Ноя 05 2008

MySQL «table is full»

Такое сообщение появляется всегда в самый неожиданный и не подходящий момент. Суть заключается в том, что mysql, отказывается добавлять записи в таблицу, размер которой превышает 2 Gb. Как пишется в документации на сам MySQL, связано это с тем что некоторые файловые системы, не поддерживают файлы, размером больше 2 Gb. Если у вас не Linux с ядром 2.2.Х и не Windows c FAT32, эти ограничения вас не касаются, остается только убедить в этом MySQL. Делается это так:

ALTER TABLE tbl_name MAX_ROWS=1000000000;

И все. Политика разработчиков MySQL в этом вопросе, мне не понятна. Эту «особенность» MySQL пора давно уже убрать.


Украинская Баннерная Сеть