Правильное обслуживание базы данных MySQL

8

Я надеюсь, что это не слишком широкий вопрос. Я уверен, что он сможет помочь мне и любым будущим новичкам, которые столкнутся с этим.

Я системный администратор, которого включили в список администраторов баз данных (потому что я помог генеральному директору с его перспективой, поэтому я, очевидно, могу управлять нашими базами данных!). Он не такой большой или занятый сервером базы данных ... Размер mysqldump составляет около 6 ГБ, и нам потребовалось 5 лет, чтобы получить его таким большим. Мунин сообщает, что в пиковые часы мы усредняем 40-60 запросов в секунду.

Мой начальник заплатил за меня, чтобы я прошел курс системного администрирования Oracle University, но, пройдя его, он просто объясняет различные части сервера mysql, что делают и как они это делают. Но это не так глубоко, и вы определенно не выходите из этого курса DBA.

Так что, как текущий администратор базы данных, что я должен сделать, чтобы убедиться, что все работает гладко? Могу ли я выполнять ежедневные задачи по обслуживанию? Есть ли определенные показатели, которые я должен проверять? Или, другими словами, как администраторы баз данных, что ВЫ делаете ежедневно, чтобы держать все в порядке?

Если это поможет адаптировать ответ немного, вот некоторые особенности. У нас 171 таблица, все, кроме 3-х, innodb, остальные - myisam. У нас установлена ​​главная / подчиненная репликация между нашим основным центром обработки данных и нашим сайтом аварийного восстановления с использованием RBR. Версия 5.5.28.

Что я могу сделать?

Safado
источник

Ответы:

10

Обо всем по порядку. Убедитесь, что вы разработали и задокументировали стратегию аварийного восстановления (DR). Потратьте некоторое время на размышления о том, как что-то может пойти не так, как их восстановить, и протестируйте их, чтобы понять, сколько времени это займет, особенно при восстановлении из резервной копии. Некоторые общие идеи:

  • Сбой mysql, но с сервером все в порядке: исправьте ошибку и запустите mysql.
  • MySQL должен быть восстановлен из резервной копии: восстановите из резервной копии и запустите mysql <- проверьте это, прежде чем он станет чем-то, что вам нужно сделать в чрезвычайной ситуации.
  • Сервер умер и должен быть заменен: установите заменяющий сервер и восстановите его из резервной копии.

Если у вас есть стратегия аварийного восстановления и метод, разработанный для проверки ваших резервных копий, вы можете перейти к более периодическим задачам:

  • регулярно проверяйте процесс восстановления. Это обеспечивает знакомство в случае, когда это необходимо.
  • обеспечить правильные показатели. Если вы используете сервер Percona, вы можете получить статистику о том, какие индексы не используются через определенное время (месяц или около того)
  • медленный просмотр запросов. Включите медленный журнал запросов с длительным временем запроса 1 секунда или около того и используйте pt-query-digest для просмотра их еженедельно / ежемесячно.
  • читайте http://www.mysqlperformanceblog.com/ и блоги с http://planet.mysql.com/ .. в такой крошечной базе данных, вы редко будете интересоваться многими вопросами производительности. Таким образом, у вас будет достаточно времени, чтобы прочитать интересные вопросы и способы их решения.
Дерек Дауни
источник
Спасибо за ссылки и предложения. Это дает мне хорошую отправную точку.
Сафадо
1

Как насчет резервного копирования данных и программ? Проверьте оборудование и хранилище, на котором находится MySQL. Ежедневно или своевременно просматривайте все журналы. Дисковое пространство даже при автоматическом расширении - его необходимо отслеживать. Убедитесь, что один человек выполняет работу администратора баз данных. Безопасность - просмотрите политику для типов данных. и кто к ней обращается. Держите базу данных обновленной - в пределах разумного. Приготовьтесь к различным бедствиям и восстанавливайтесь после них.

/ Марк Дж. Ричардс

Марк Дж. Ричардс
источник