Best practice администрирования mysql?

Интересуют лучшие практики для системного администратора linux, которому так или иначе приходится работать с Mysql. Информации, понятное дело, много, все это постепенно я изучаю, но хочется услышать опыт бывалых касательно основных моментов, а именно:

1. Что должен знать сисадмин в mysql, а что задача других специалистов. Проще говоря - насколько глубоко нужно уметь mysql?

2. В чем принципиальные отличия mysql от mariadb ? То есть, что именно должно побудить устанавливать то или другое?

3. Как проще разобраться со всякими буферами, кэшем и прочими понятиями, где об этом написано более понятно, чем на оффсайте? Оптимизировал mysql в очень небольших проектах, но понимания как это все устроено нет.

4. Обновление с версии на версию. Какой порядок действий правильный? На рабочих серверах обновлял раз 5 всего, один раз очень неудачно, потом долго все восстанавливал и т.п.

5. Всегда ли нужно обновление? На одном популярном айтишном ресурсе писали что Mysql 5.7 в несколько раз быстрее чем 5.5

6. По какому принципу выбирается движок для новой таблицы? В версиях с 5.5 движок по умолчанию InnoDB, но, например таблица user, базы mysql, имеет движок Myisam...

7. Посоветуйте что-нибудь еще.

Заранее большое спасибо!
  • Вопрос задан
  • 745 просмотров
Решения вопроса 3
Softer
@Softer
1. Есть DBA - ничего. Нет DBA - все.
2. Религия в основном.
3. Читать документацию. Пробовать.
4. Бекап перед апдейтом всегда.
5. Сравнивать самому на типичных для выбранного проекта нагрузках.
6. От задач отталкиваться. Вроде как MyISAM быстрее на запись.
7. Гугл, маны и практика.
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
1. Админу - админово. Поставить, завести юзеров, раздать права, создать базы. Уметь забэкапить БД, таблицу и восстановить ее средствами phpmyadmin, например. Уметь выполнить скрипт по созданию структуры таблиц "изнутри" консоли mysql, прочитать его вывод, найти ошибки, исправить (это как правило, отсутствующая либо наоборот присутствующая БД/таблица). Все, необходимое для того, чтобы приложение работало.
2. Изучение различий (при наличии например пакетов последних версий обеих типов). Наличие пакета под нужный дистриб, архитектуру, версию etc.
3. Читать маны. Пробовать. Документации много, но к сожалению, нигде не сказано "Вы покрутите этот параметр и вот это изменится вот на столько" - потому что задачи у всех разные
4. Правильным действием является прежде всего бэкап БД непосредственно перед обновлением :)
5. Не всегда. Если обновление движка потянет за собой обновление еще чего-нибудь, есть шанс, что например часть сайта после такого обновления просто не заработает :) Поэтому - бэкап, бэкап и еще баз бэкап!
6. По принципу необходимости для задачи всех фишек InnoDB. БД c небольшими таблицами, в которых например частичные блокировки не нужны - проще будет держать на MyISAM - он быстрее, его бэкап проще.
Ответ написан
@maniac_by
1. Смотря какой уровень. Стандартно - это установить MySQL, выдать права, создать БД/Таблицу с нужной кодировкой. Не только MySQL касается. Сейчас от неё уходят на MariaDB и PostgreSQL

2. MariaDB - лучше. И более открыта. И хороший дебаггер. MySQL - анахранизм. А лучше PostgreSQl и noSQL

3. Смотри англоязычные ресурсы. Заодно подтянешь и английский. все самые актуальные маны - там. Еще можешь глянуть в настройках всяких Линуксов, того же RHEL обычно там подробно.

4. Работает - не трогай.

5. Оно может быть быстрее, но не значит, что у вас заработает. Смотря какая нагрузка, какой тип данных, сколько обращений.

6. По принципу рекомендуемых приложением. Если, например, к вики - системе указан InnoDB - значит InnoDB.

7. Если ты не БД - разработчик, то многого в базе тебе не нужно. Только умения поднять, провести первоначальную настройку и уметь делать дебаг. Оптимизации и т.д. Все потом.

Книги:
https://oz.by/books/more10295749.html
https://www.amazon.com/Mastering-MariaDB-Federico-...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы