Петр Зайцев и mail.ru
Интересное видео со встречи Петра Зайцева из Percona в компании mail.ru, есть некоторая интересная информация по теме оптимизации работы mysql. Рекомендую для просмотра всем системным администраторам.
Блог для личных заметок о том, с чем сталкиваюсь пока живу…
Тег ‘mysql’
Интересное видео со встречи Петра Зайцева из Percona в компании mail.ru, есть некоторая интересная информация по теме оптимизации работы mysql. Рекомендую для просмотра всем системным администраторам.
В продолжение прошлой заметки – в этой напишу как автоматизировать проверку идентичности slave сервера в рамках компании.
Основной момент, это определиться с периодом проверки СУБД на идентичность, судя по моему опыту – это раз в неделю, либо после проблем с репликацией. Во всех остальных случаях, если разработчики знакомы с ограничениями MySQL при репликации данных, СУБД ведет себя достаточно стабильно.
Для автоматизации проверки я использую скрипт – mysql_consistency.sh. Скрипт достаточно простой, позволяет автоматизировать проверку СУБД на идентичность, с последующей нотификацией через систему Nagios о имеющихся проблемах.
Для его использования достаточно скачать его и скопировать в нужную вам директорию, в обязательном порядке нужно установить набор утилит Maatkit, иначе скрипт не будет работать, так как не будет необходимых программ для реализации проверки идентичности MySQL серверов.
Перед запуском скрипта необходимо указать в нем логин и пароль, при помощи которых он будет подключаться к СУБД, также, если требуется поддержка Nagios, нужно настроить следующие параметры:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
### # Nagios support variables # 1 - enable nagios nsca support # 0 - disable nagios nsca support ### nagios_support=0 # Name of the nagios service NAGIOS_SERVICE_NAME="MySQL Checksum Check" # Set NSCA host and port NSCA_HOST="localhost" NSCA_PORT="5667" |
nagios_support – включает/выключает поддержку Nagios.
NSCA_HOST – определяет имя сервера, на котором установлен NSCA сервер.
После запуска скрипт запустит mk-table-checksum, который проверит master MySQL сервер, далее при помощи mk-table-sync проверит консистентность slave MySQL серверов. Если включена поддержка Nagios – скрипт отправит сообщение со статусом проверки, как положительным так и отрицательным, NSCA серверу при помощи утилиты send_nsca.
В следующей заметке напишу как настраивать систему мониторинга Nagios для работы с NSCA сервером, в этой настройке есть несколько моментов.
СУБД MySQL, самая популярная СУБД для WEB проектов. Эту БД используют миллионы проектов по всей сети Интернет, от крупных компаний, до отдельных разработчиков, и как следствие, перед любым администратором СУБД MySQL рано или поздно встает вопрос об обеспечении отказоустойчивого режима работы данной подсистемы БД в рамках проекта. СУБД MySQL (далее просто MySQL или СУБД) предлагает 2-а механизма высокодоступного режима работы:
Оба механизма имеют свои плюсы и минусы, но все таки более популярен и доступен – это 2-ой вариант, то есть репликация данных между MySQL серверами. Настройка репликации отлично описана в документации, поэтому рассматривать мы ее не будем. Предмет данной заметки – проверка MySQL slave сервера на идентичность его данных MySQL master серверу.
Читать полностью ‘Проверка идентичности MySQL Slave сервера’ »
По ссылке доступна достаточно познавательная статья о sql injections и методах защиты от них. Подойдет для прочтения начинающими WEB разработчиками.
Прочитать: MySQL: Secure Web Apps – SQL Injection techniques
Написал краткую статью на тему: Организация резервного копирования БД MySQL.
Недавно наткнулся на статью в databasejournal.com, которая описывает некоторые подводные камни в MySQL репликации. Оказывается, многие не знают, что текущая схема работы репликации (а именно перенос на slave сервер бинарных логов) не позволяет добится хорошей производительности и надежности в переносе данных. Рекомендую статью к прочтению как вводный курс в проблемы MySQL репликации.
Еще 1 проект, поддержкой которого занимаюсь сейчас. Под него выделен достаточно мощный сервер с большим количеством дисков. Попозже напишу что было реализовано в рамках этого проекта. Думаю в течение ближайших 4-6 месяцев появится в рамках этого проекта работа по его оптимизации по высокие нагрузки.
Как оказалось Crystal Reports Server XI не работает с MySQL БД из коробки.
Хотя CRS использует MySQL для хранения своей служебной информации, но для указания подключения к БД в BusinessView можно использовать либо ODBC либо JDBC. У меня заработал только JDBC.
Пошаговая инструкция:
1) Качаем MySQL JDBC connector (http://www.mysql.com/products/connector/j/) версии 3.1, распаковываем jar файл в любую папку сервера.
2) Ищем и открываем файл CRConfig.xml, в поле CLASSPATH исправляем путь до mysql-connector на правильный.
3) Перезапускаем все сервера CRS, cmm.sh -stop all && sleep 10 && ccm.sh -start all.
4) Через Business View Manager создаем Data Connection к БД. Выбираем JDBC, заполняем поля:
ServerURL jdbc:mysql://db_server_name:3306/db_name
Database Classname com.mysql.jdbc.Driver
Жмем Next и на следующей странице вводим логин и пароль пользователя, у которого есть доступ к БД.
В следующем окне вводим логин и 2-а раза задаем пароль для доступа к БД и выбираем Never prompt for password.
После выполнения вышеуказаных действий вы сможете подключаться к MySQL БД c сервера при помощи JDBC.
Кстати, для CR Developer процедура настройки JDBC аналогична.
Mytop – один из полезных инструментов для MySQL DBA.
Данная консольная утилита аналог top программы, но только для для базы данных MySQL, после соединения с сервером показывает какие процессы запущены, количество запросов в секунду, эффективность ключей в процентном соотношении. Рекомендую.