MySQL
Categories:
Сравнение с PostgreSQL?
Преимущества перед другими СУБД
Критерий | PostgreSQL | MySQL/SQLite | Redis |
---|---|---|---|
Поддержка сложных запросов | ✅ Да | ❌ Ограничена | ❌ Нет |
Надежность транзакций | ✅ ACID | ✅ ACID | ❌ Key-Value |
Производительность | ⚡ Высокая | ⚡ Средняя | ⚡ Максимальная |
Масштабируемость | ✅ Горизонтальная | ✅ Вертикальная | ✅ Кластеры |
Безопасность | 🔒 Row-Level Security | 🔒 Базовые права | 🔒 Нет |
Пример конфигурации
Добавьте в configuration.yml:
storage:
encryption_key: 'a_very_important_secret'
mysql:
address: 'tcp://127.0.0.1:3306'
database: 'authelia'
username: 'authelia'
password: 'mypassword'
timeout: '5s'
tls:
server_name: 'mysql.rabrain.ru'
skip_verify: false
minimum_version: 'TLS1.2'
maximum_version: 'TLS1.3'
certificate_chain: |
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
private_key: |
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
Опции
encryption_key
Ключ шифрования, используемый для шифрования данных в базе данных. Мы шифруем данные, создавая контрольную сумму sha256 из указанного значения, и используем ее для шифрования данных с помощью 256-битного алгоритма AES-GCM.
Минимальная длина этого ключа - 20 символов.
Настоятельно рекомендуется, чтобы это была случайная буквенно-цифровая строка из 64 или более символов.
address
Настраивает адрес для сервера PostgreSQL. Сам адрес является коннектором, а схема должна быть либо схемой unix, либо одной из схем tcp.
storage:
mysql:
address: 'tcp://127.0.0.1:3306'
storage:
mysql:
address: 'tcp://[fd00:1111:2222:3333::1]:3306'
storage:
mysql:
address: 'unix:///var/run/mysqld.sock'
database
Имя базы данных на сервере баз данных, к которой назначенный пользователь имеет доступ для работы с Authelia.
username
Имя пользователя в паре с паролем, используемые для подключения к базе данных.
password
Пароль, связанный с именем пользователя, используемым для подключения к базе данных.
Настоятельно рекомендуется, чтобы это была случайная буквенно-цифровая строка из 64 или более символов, и пароль пользователя был изменен на это значение.
timeout
Таймаут соединения SQL.
tls
Если этот параметр определен, он включает соединение через сокет TLS и дополнительно управляет параметрами проверки TLS-соединения для сервера MySQL.
По умолчанию Authelia использует системный сертификат доверия для проверки TLS-соединений, а глобальная опция certificates_directory может быть использована для дополнения этого параметра.