Files
K3S/addons/mysql/README.md
Sergey Antropoff 38aaadbfb1 docs: sync addon docs with explicit external/internal service modes
Обновлена документация под новые аддоны (gitlab, redis, mongodb, kafka, kafka-ui, rabbitmq) и новую модель явного выбора зависимостей. Добавлены и унифицированы описания переключателей *_database_mode и *_redis_mode, обновлена таблица зависимостей аддонов, примеры конфигурации и список vault-секретов.
2026-04-29 23:21:04 +03:00

86 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# MySQL
MySQL (Bitnami) с поддержкой репликации primary/secondary и Prometheus метриками через mysqld_exporter sidecar.
## Быстрый старт
```yaml
# group_vars/all/addons.yml
addon_mysql: true
```
Секреты в `vault.yml`:
```yaml
vault_mysql_root_password: "root-password"
vault_mysql_password: "app-password"
```
```bash
make addon-mysql
```
## Параметры
| Переменная | Умолч. | Описание |
|---|---|---|
| `mysql_auth_username` | `appuser` | Пользователь приложения |
| `mysql_auth_database` | `appdb` | База данных приложения |
| `mysql_storage_size` | `8Gi` | Размер PVC |
| `mysql_secondary_replica_count` | `0` | Реплики secondary (0 = только primary) |
## Подключение из подов
```yaml
env:
- name: MYSQL_HOST
value: "mysql.mysql.svc.cluster.local"
- name: MYSQL_PORT
value: "3306"
- name: MYSQL_DATABASE
value: "appdb"
- name: MYSQL_USER
value: "appuser"
- name: MYSQL_PASSWORD
valueFrom:
secretKeyRef:
name: mysql
key: mysql-password
```
## Репликация
```yaml
mysql_secondary_replica_count: 1 # primary + 1 secondary
```
Primary: `mysql-primary.mysql.svc.cluster.local:3306`
Secondary (read-only): `mysql-secondary.mysql.svc.cluster.local:3306`
## Создать дополнительные базы
```bash
kubectl exec -n mysql statefulset/mysql-primary -- \
mysql -u root -p"$ROOT_PASSWORD" -e "CREATE DATABASE mydb; GRANT ALL ON mydb.* TO 'appuser'@'%';"
```
## Дамп и восстановление
```bash
# Дамп
kubectl exec -n mysql statefulset/mysql-primary -- \
mysqldump -u root -p"$ROOT_PASSWORD" appdb > dump.sql
# Восстановление
kubectl exec -i -n mysql statefulset/mysql-primary -- \
mysql -u root -p"$ROOT_PASSWORD" appdb < dump.sql
```
## Использование с Databasus
При `addon_databasus: true` MySQL автоматически добавляется как источник для резервного копирования.
## Официальные ресурсы
- Официальный сайт: [https://www.mysql.com/](https://www.mysql.com/)
- Официальная документация: [https://dev.mysql.com/doc/](https://dev.mysql.com/doc/)
- Версии Helm chart / ПО: [https://artifacthub.io/packages/helm/bitnami/mysql](https://artifacthub.io/packages/helm/bitnami/mysql)