Skip to content
Back to skills

Bitrix Dba

ASecurity

DBA для 1С-Битрикс на MySQL/MariaDB (Percona тоже применимо): тюнинг СУБД под Битрикс, регламентное обслуживание, диагностика и снятие блокировок, мониторинг, резервное копирование и восстановление, репликация и масштабирование на уровне СЕРВЕРА БД (не запросов приложения). Используй всякий раз, когда речь о настройке `my.cnf`/`my.ini` под Битрикс (innodb_buffer_pool_size, innodb_log_file_size, max_connections, query_cache — удалён в MySQL 8 / обычно выключен в MariaDB, transaction-isolation)...

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 3, 2026
developmentphpsqlapiperformance

Works with

  • api

Security analysis

A100/100

Pro scans all 5 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add vgtitov/bitrix-ai-toolkit --skill bitrix-dba --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bitrix Dba?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bitrix Dba
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vgtitov-bitrix-dba/badge)](https://www.skillsdirectory.com/skills/vgtitov-bitrix-dba)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bitrix-dba
description: >
  DBA для 1С-Битрикс на MySQL/MariaDB (Percona тоже применимо): тюнинг СУБД под Битрикс,
  регламентное обслуживание, диагностика и снятие блокировок, мониторинг, резервное копирование
  и восстановление, репликация и масштабирование на уровне СЕРВЕРА БД (не запросов приложения).
  Используй всякий раз, когда речь о настройке `my.cnf`/`my.ini` под Битрикс (innodb_buffer_pool_size,
  innodb_log_file_size, max_connections, query_cache — удалён в MySQL 8 / обычно выключен в MariaDB,
  transaction-isolation);
  о блокировках/deadlock (`SHOW ENGINE INNODB STATUS`, `information_schema.INNODB_TRX/INNODB_LOCKS`,
  `KILL`); о регламенте `OPTIMIZE TABLE`/`ANALYZE TABLE`/чистке логов ротацией; о репликации
  master-slave (в т.ч. под веб-кластер Битрикс) и её задержке; о резервном копировании
  (`mysqldump`/`mariabackup`/`xtrabackup`) и проверке восстановимости; о «Панели проверки системы»
  Битрикс в части СУБД. Срабатывай даже без слова «DBA», если речь о том, что «СУБД под Битрикс
  тормозит/не хватает соединений/реплика отстаёт/бэкап не восстанавливается». Железное правило:
  НЕ угадывай параметры и поведение СУБД по памяти — сначала сними измерение (`SHOW STATUS`,
  `EXPLAIN`, slow query log), потом делай вывод; непроверенное помечай [проверить]. Оптимизация
  КОНКРЕТНОГО запроса/ORM-вызова и кэш-стратегия — скилл `bitrix-performance`; разработка PHP —
  `bitrix-dev`.
---

# DBA для 1С-Битрикс (MySQL/MariaDB) — настраивать и обслуживать СУБД по измерениям, не по памяти

## Локализация (сначала, если есть)
Если в скилле есть каталог `references/local/` — прочитай его ПЕРЕД работой: версия СУБД, ОС,
объём RAM/ядер проекта, где лежат бэкапы, схема репликации. При противоречии локальное побеждает
generic. Контракт — `docs/LOCALIZATION.md` toolkit.

Разделение со скиллом `bitrix-performance`: он оптимизирует ЗАПРОСЫ и КЭШ на стороне приложения
(D7 ORM, `CIBlockElement::GetList`, тегированный кэш) — это то, что видит разработчик в коде.
`bitrix-dba` настраивает и обслуживает сам СЕРВЕР СУБД (память, диск, соединения, репликация,
бэкап) — то, что видит администратор в `my.cnf` и мониторинге. Один и тот же симптом «тормозит»
может требовать обоих: сначала `bitrix-performance` смотрит, нет ли N+1/отключённого кэша, затем
`bitrix-dba` — упирается ли СУБД в буфер/IO/соединения при уже оптимизированных запросах.

## Главное правило: сначала измерь, потом меняй
- **Перед выводом** сними данные: `SHOW GLOBAL STATUS`, `SHOW ENGINE INNODB STATUS`,
  `information_schema.INNODB_TRX`/`INNODB_LOCKS`, slow query log + `EXPLAIN`, `iostat`/`vmstat`/`top`.
  Сначала корневая причина (буфер мал? диск насыщен? запрос без индекса?), потом фикс.
- **Любую правку `my.cnf`** — сначала на стейджинге/предпроде, с замером ДО/ПОСЛЕ и планом отката;
  параметры считаются от RAM/ядер/дисков КОНКРЕТНОГО сервера, не берутся константой.
- Параметры/поведение конкретной версии MySQL/MariaDB/Percona, в которых не уверен — помечай
  **[проверить]** по официальной документации версии, не выдавай за факт.
- Пароли/доступы — никогда в чат/репозиторий (см. «Безопасность»).

## Версии и железо — НАСТРОЙ ПОД СВОЙ ПРОЕКТ
Зафиксируй: СУБД и версия (MySQL 8.x / MariaDB / Percona Server), ОС, RAM, число физических ядер,
тип диска (SSD/NVMe), число одновременных соединений (веб + фоновые агенты Битрикс + консольные
скрипты), размер базы. Формулы ниже считаются от этих чисел.

## Тюнинг `my.cnf` под Битрикс
Конкретные ini-значения (`innodb_buffer_pool_size`, `innodb_log_file_size`,
`transaction-isolation`, `innodb_flush_log_at_trx_commit` и т.д.) уже собраны в
`core/skills/bitrix-performance/references/infrastructure.md` — **бери их оттуда, не дублируй**
(единый источник, чтобы не разъезжались числа между скиллами). Здесь — то, чего там нет:
- **`max_connections`** — считай от реального пика одновременных соединений (веб-процессы через
  PHP-FPM `pm.max_children`, фоновые агенты Битрикс, консольные скрипты импорта/обмена), а не
  «с запасом на всякий случай»: `sort_buffer_size`/`join_buffer_size` выделяются по потребности
  под конкретную операцию, а не фиксированно на каждое соединение — риск не в статичном резерве
  памяти, а в том, что при реальном росте конкурентных соединений с тяжёлыми операциями суммарное
  потребление может неожиданно вырасти. Считай лимит от ожидаемого пика, не от «побольше на всякий
  случай».
- **`query_cache`** — в MySQL 8+ полностью удалён из ядра (не выключается — его нет). В
  MariaDB query cache ещё существует, но обычно выключен по умолчанию на новых версиях. В обоих
  случаях Битрикс не полагается на него — использует собственный тегированный кэш приложения
  (`bitrix-performance`); проверяй по факту версии СУБД проекта, не утверждай «выключен» не глядя.
- Проверка после любой правки: «Панель проверки системы» Битрикс (`Настройки → Инструменты →
  Проверка системы`) — секция СУБД показывает несоответствия рекомендациям прямо в интерфейсе.

## Регламентное обслуживание
- `OPTIMIZE TABLE` — точечно на таблицах с высокой фрагментацией (частые UPDATE/DELETE — заказы,
  корзина, логи), не на всей базе разом; поведение по блокировкам версия-зависимое — см.
  `references/maintenance.md`, планируй окно, не считай безопасным по умолчанию.
- `ANALYZE TABLE` после массовых изменений данных (импорт каталога, миграция) — обновляет
  статистику индексов, от которой зависит план запроса оптимизатора.
- Ротация и чистка `b_event_log`, `b_perf_*` (модуль perfmon), логов агентов — растут бесконтрольно
  на активном сайте, регламент чистки — отдельным заданием (крон/агент), не ручной операцией.
- Полная процедура, пороги, скрипты — `references/maintenance.md`.

## Мониторинг и блокировки
`SHOW GLOBAL STATUS` (Threads_connected, Innodb_buffer_pool_read_requests/reads — cache hit ratio,
Slow_queries), `SHOW ENGINE INNODB STATUS` (текущие блокировки, deadlock-секция), slow query log +
`pt-query-digest`/`mysqldumpslow` (топ запросов по суммарному времени). Deadlock у Битрикс типично
на `b_sale_order`/корзине при высокой конкурентности — снимать через `information_schema` и
`SHOW PROCESSLIST`; эскалация снятия сеанса требует сначала проверить, есть ли у него открытая
транзакция (`KILL QUERY` не закрывает её). Детали, включая разбор частых причин deadlock (не
только «изоляция») — `references/monitoring-and-locks.md`.

## Резервное копирование и восстановление
Логический бэкап (`mysqldump`, с `--single-transaction` для InnoDB без блокировки на чтение) vs
физический (`mariabackup`/`xtrabackup`, быстрее на больших базах, без простоя). Регламент:
ежедневный дамп + физический бэкап на объёмных базах + **обязательная регулярная проверка
восстановимости** (бэкап без проверенного restore — не бэкап). Согласовать с выгрузкой `bitrix
backup`/файловым бэкапом `/upload` (данные и файлы должны быть консистентны по времени снятия).
Детали и runbook — `references/backup-recovery.md`.

## Репликация и масштабирование (веб-кластер)
Master-slave репликация под веб-кластер Битрикс: модуль `cluster` требует настройки реплик, слейвы
только для чтения (Битрикс сам умеет распределять read/write через модуль веб-кластера — не любой
код автоматически безопасен на реплике из-за возможной задержки репликации). Диагностика задержки
(`SHOW SLAVE STATUS` → `Seconds_Behind_Master`). Детали — `references/ha-and-scaling.md`.

## Роли-режимы (под задачу — переключай фокус)
tuner (расчёт и правка `my.cnf` от железа, замер ДО/ПОСЛЕ) · maintainer (регламент
OPTIMIZE/ANALYZE/ротация логов) · firefighter (инцидент: блокировки/deadlock/насыщение IO —
сначала диагностика, потом снятие) · monitor (метрики, cache hit ratio, топ медленных запросов) ·
backup-admin (регламент бэкапа + проверка восстановимости) · architect (репликация, веб-кластер,
сайзинг).

## Граница ответственности
DBA настраивает и обслуживает СУБД и сервер, но не правит PHP-код и структуру инфоблоков — она
формируется через админку/API Битрикс и миграции (`sprint.migration`), не руками в БД без
версионирования (см. `bitrix-dev` — «Гейт: правки только в /local»). Если корень медленного
запроса — сам запрос без индексов/с N+1 на уровне PHP-кода, фикс уходит к `bitrix-dev`/
`bitrix-performance`, не в тюнинг СУБД.

## Безопасность
- Пароли БД — только в env/секрет-хранилище, никогда в чат, скрипт, репозиторий, лог.
- Дампы содержат персональные данные клиентов (email, телефон, адреса заказов) — НЕ передавать во
  внешние сервисы/LLM, хранить по регламенту ИБ, доступ ограничивать; обезличивать перед показом
  вовне.

## Смежные скиллы
`bitrix-performance` (запросы/кэш на стороне приложения — куда чаще всего уходит корень «тормозит»
на практике), `bitrix-dev` (разработка/ревью PHP), `bitrix-analyst` (анализ задачи, влияние на
систему).

Files in this skill

  • SKILL.md13.5 KB
  • references/backup-recovery.md3.7 KB
  • references/ha-and-scaling.md4.1 KB
  • references/maintenance.md3.8 KB
  • references/monitoring-and-locks.md4.7 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…