Serverparameter in Azure Database for MariaDB
Wichtig
Azure Database for MariaDB wird demnächst eingestellt. Wir empfehlen Ihnen dringend, zu Azure Database for MySQL zu migrieren. Weitere Informationen zum Migrieren nach Azure Database for MySQL finden Sie unter Was geschieht mit Azure Database for MariaDB?.
Dieser Artikel enthält Überlegungen und Richtlinien zur Konfiguration von Serverparametern in Azure Database for MariaDB.
Was sind Serverparameter?
Die MariaDB-Engine stellt eine Vielzahl verschiedener Servervariablen/-parameter zur Konfiguration und Optimierung des Engine-Verhaltens bereit. Einige der Parameter können dynamisch während der Laufzeit festgelegt werden, während andere „statisch“ sind und ihre Anwendung einen Neustart des Servers erfordert.
Azure Database for MariaDB bietet die Möglichkeit, den Wert verschiedener MariaDB-Serverparameter mithilfe des Azure-Portals, der Azure CLI und von PowerShell zu ändern, um sie den Anforderungen Ihrer Workload anzupassen.
Konfigurierbare Serverparameter
Die Liste der unterstützten Serverparameter wächst ständig. Sie können die vollständige Liste im Azure-Portal auf der Registerkarte „Serverparameter“ anzeigen und die Werte der Serverparameter dort konfigurieren.
In den folgenden Abschnitten erfahren Sie mehr über die Grenzen der verschiedenen häufig aktualisierten Serverparameter. Die Grenzwerte werden durch den Tarif und die Anzahl der virtuellen Kerne des Servers bestimmt.
log_bin_trust_function_creators
In Azure Database for MariaDB sind binäre Protokolle immer aktiviert (d. h., log_bin
ist auf ON festgelegt). Wenn Sie versuchen, Trigger zu verwenden, erhalten Sie einen Fehler wie Sie verfügen nicht über die SUPER-Berechtigung, und die binäre Protokollierung ist aktiviert (es kann ratsam sein, die weniger sichere Variable log_bin_trust_function_creators
zu verwenden).
Das Format für binäre Protokollierung ist immer ROW (Zeile), und für alle Verbindungen mit dem Server wird IMMER die zeilenbasierte binäre Protokollierung verwendet. Bei der zeilenbasierten binären Protokollierung gibt es keine Sicherheitsprobleme, und die binäre Protokollierung kann nicht unterbrochen werden, sodass Sie sicher auf log_bin_trust_function_creators
TRUE festlegen können.
innodb_buffer_pool_size
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Server, die bis zu 4 TB Speicher unterstützen
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | 872415232 | 134217728 | 872415232 |
Basic | 2 | 2684354560 | 134217728 | 2684354560 |
Universell | 2 | 3758096384 | 134217728 | 3758096384 |
Universell | 4 | 8053063680 | 134217728 | 8053063680 |
Universell | 8 | 16106127360 | 134217728 | 16106127360 |
Universell | 16 | 32749125632 | 134217728 | 32749125632 |
Universell | 32 | 66035122176 | 134217728 | 66035122176 |
Universell | 64 | 132070244352 | 134217728 | 132070244352 |
Arbeitsspeicheroptimiert | 2 | 7516192768 | 134217728 | 7516192768 |
Arbeitsspeicheroptimiert | 4 | 16106127360 | 134217728 | 16106127360 |
Arbeitsspeicheroptimiert | 8 | 32212254720 | 134217728 | 32212254720 |
Arbeitsspeicheroptimiert | 16 | 65498251264 | 134217728 | 65498251264 |
Arbeitsspeicheroptimiert | 32 | 132070244352 | 134217728 | 132070244352 |
Server, die bis zu 16 TB Speicher unterstützen
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | 872415232 | 134217728 | 872415232 |
Basic | 2 | 2684354560 | 134217728 | 2684354560 |
Universell | 2 | 7516192768 | 134217728 | 7516192768 |
Universell | 4 | 16106127360 | 134217728 | 16106127360 |
Universell | 8 | 32212254720 | 134217728 | 32212254720 |
Universell | 16 | 65498251264 | 134217728 | 65498251264 |
Universell | 32 | 132070244352 | 134217728 | 132070244352 |
Universell | 64 | 264140488704 | 134217728 | 264140488704 |
Arbeitsspeicheroptimiert | 2 | 15032385536 | 134217728 | 15032385536 |
Arbeitsspeicheroptimiert | 4 | 32212254720 | 134217728 | 32212254720 |
Arbeitsspeicheroptimiert | 8 | 64424509440 | 134217728 | 64424509440 |
Arbeitsspeicheroptimiert | 16 | 130996502528 | 134217728 | 130996502528 |
Arbeitsspeicheroptimiert | 32 | 264140488704 | 134217728 | 264140488704 |
innodb_file_per_table
Hinweis
innodb_file_per_table
kann nur in den Tarifen „Universell“ und „Arbeitsspeicheroptimiert“ aktualisiert werden.
MariaDB speichert die InnoDB-Tabelle in verschiedenen Tabellenbereichen basierend auf der Konfiguration, die Sie während der Tabellenerstellung angegeben haben. Der Systemtabellenbereich ist der Speicherbereich für das InnoDB-Datenwörterbuch. Ein file-per-table-Tabellenbereich enthält die Daten und Indizes für eine einzelne InnoDB-Tabelle und wird im Dateisystem in einer eigenen Datendatei gespeichert. Dieses Verhalten wird vom innodb_file_per_table
-Serverparameter gesteuert. Durch Festlegen von innodb_file_per_table
auf OFF
werden Tabellen von InnoDB im Systemtabellenbereich erstellt. Andernfalls werden die Tabellen im Tabellen-Tabellenbereich erstellt.
Azure Database for MariaDB unterstützt bis zu ein Terabyte in einer einzelnen Datendatei. Wenn die Datenbankgröße ein Terabyte überschreitet, sollten Sie die Tabelle im innodb_file_per_table-Tabellenbereich erstellen. Wenn eine einzelne Tabelle größer als ein Terabyte ist, sollten Sie die Partitionstabelle verwenden.
join_buffer_size
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | Nicht konfigurierbar im Basic-Tarif | – | – |
Basic | 2 | Nicht konfigurierbar im Basic-Tarif | – | – |
Universell | 2 | 262144 | 128 | 268435455 |
Universell | 4 | 262144 | 128 | 536870912 |
Universell | 8 | 262144 | 128 | 1073741824 |
Universell | 16 | 262144 | 128 | 2147483648 |
Universell | 32 | 262144 | 128 | 4294967295 |
Universell | 64 | 262144 | 128 | 4294967295 |
Arbeitsspeicheroptimiert | 2 | 262144 | 128 | 536870912 |
Arbeitsspeicheroptimiert | 4 | 262144 | 128 | 1073741824 |
Arbeitsspeicheroptimiert | 8 | 262144 | 128 | 2147483648 |
Arbeitsspeicheroptimiert | 16 | 262144 | 128 | 4294967295 |
Arbeitsspeicheroptimiert | 32 | 262144 | 128 | 4294967295 |
max_connections
Tarif | vCore(s) | Standardwert | Mindestwert | Höchstwert |
---|---|---|---|---|
Basic | 1 | 50 | 10 | 50 |
Basic | 2 | 100 | 10 | 100 |
Universell | 2 | 300 | 10 | 600 |
Universell | 4 | 625 | 10 | 1250 |
Universell | 8 | 1250 | 10 | 2500 |
Universell | 16 | 2500 | 10 | 5.000 |
Universell | 32 | 5.000 | 10 | 10000 |
Universell | 64 | 10000 | 10 | 20000 |
Arbeitsspeicheroptimiert | 2 | 625 | 10 | 1250 |
Arbeitsspeicheroptimiert | 4 | 1250 | 10 | 2500 |
Arbeitsspeicheroptimiert | 8 | 2500 | 10 | 5.000 |
Arbeitsspeicheroptimiert | 16 | 5.000 | 10 | 10000 |
Arbeitsspeicheroptimiert | 32 | 10000 | 10 | 20000 |
Wenn Verbindungen den Grenzwert übersteigen, erhalten Sie möglicherweise den folgenden Fehler:
FEHLER 1040 (08004): Zu viele Verbindungen
Wichtig
Für eine optimale Erfahrung empfehlen wir, dass Sie einen Verbindungspooler wie ProxySQL verwenden, um Verbindungen effizient zu verwalten.
Das Erstellen neuer Clientverbindungen mit MariaDB nimmt Zeit in Anspruch, und nach der Herstellung belegen diese Verbindungen Datenbankressourcen, auch wenn Sie sich im Leerlauf befinden. Die meisten Anwendungen fordern viele kurzlebige Verbindungen an, was diese Situation erschwert. Das Ergebnis sind weniger Ressourcen, die für ihre tatsächliche Workload verfügbar sind, was zu verringerter Leistung führt. Ein Verbindungspooler, der Verbindungen im Leerlauf reduziert und vorhandene Verbindungen wiederverwendet, hilft dabei, dies zu vermeiden. Weitere Informationen zum Einrichten von ProxySQL finden Sie in unserem Blogbeitrag.
Hinweis
ProxySQL ist ein Open Source-Communitytool. Es wird von Microsoft bestmöglich unterstützt. Wenden Sie sich an den ProxySQL-Produktsupport, wenn Sie Produktionssupport mit autoritativen Hinweisen benötigen.
max_heap_table_size
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | Nicht konfigurierbar im Basic-Tarif | – | – |
Basic | 2 | Nicht konfigurierbar im Basic-Tarif | – | – |
Universell | 2 | 16777216 | 16384 | 268435455 |
Universell | 4 | 16777216 | 16384 | 536870912 |
Universell | 8 | 16777216 | 16384 | 1073741824 |
Universell | 16 | 16777216 | 16384 | 2147483648 |
Universell | 32 | 16777216 | 16384 | 4294967295 |
Universell | 64 | 16777216 | 16384 | 4294967295 |
Arbeitsspeicheroptimiert | 2 | 16777216 | 16384 | 536870912 |
Arbeitsspeicheroptimiert | 4 | 16777216 | 16384 | 1073741824 |
Arbeitsspeicheroptimiert | 8 | 16777216 | 16384 | 2147483648 |
Arbeitsspeicheroptimiert | 16 | 16777216 | 16384 | 4294967295 |
Arbeitsspeicheroptimiert | 32 | 16777216 | 16384 | 4294967295 |
query_cache_size
Der Abfragecache ist in MariaDB standardmäßig mit dem Parameter have_query_cache
aktiviert.
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | Nicht konfigurierbar im Basic-Tarif | – | – |
Basic | 2 | Nicht konfigurierbar im Basic-Tarif | – | – |
Universell | 2 | 0 | 0 | 16777216 |
Universell | 4 | 0 | 0 | 33554432 |
Universell | 8 | 0 | 0 | 67108864 |
Universell | 16 | 0 | 0 | 134217728 |
Universell | 32 | 0 | 0 | 134217728 |
Universell | 64 | 0 | 0 | 134217728 |
Arbeitsspeicheroptimiert | 2 | 0 | 0 | 33554432 |
Arbeitsspeicheroptimiert | 4 | 0 | 0 | 67108864 |
Arbeitsspeicheroptimiert | 8 | 0 | 0 | 134217728 |
Arbeitsspeicheroptimiert | 16 | 0 | 0 | 134217728 |
Arbeitsspeicheroptimiert | 32 | 0 | 0 | 134217728 |
sort_buffer_size
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | Nicht konfigurierbar im Basic-Tarif | – | – |
Basic | 2 | Nicht konfigurierbar im Basic-Tarif | – | – |
Universell | 2 | 524288 | 32768 | 4194304 |
Universell | 4 | 524288 | 32768 | 8388608 |
Universell | 8 | 524288 | 32768 | 16777216 |
Universell | 16 | 524288 | 32768 | 33554432 |
Universell | 32 | 524288 | 32768 | 33554432 |
Universell | 64 | 524288 | 32768 | 33554432 |
Arbeitsspeicheroptimiert | 2 | 524288 | 32768 | 8388608 |
Arbeitsspeicheroptimiert | 4 | 524288 | 32768 | 16777216 |
Arbeitsspeicheroptimiert | 8 | 524288 | 32768 | 33554432 |
Arbeitsspeicheroptimiert | 16 | 524288 | 32768 | 33554432 |
Arbeitsspeicheroptimiert | 32 | 524288 | 32768 | 33554432 |
tmp_table_size
Weitere Informationen zu diesem Parameter finden Sie in der MariaDB-Dokumentation.
Tarif | vCore(s) | Standardwert (Bytes) | Mindestwert (Bytes) | Höchstwert (Bytes) |
---|---|---|---|---|
Basic | 1 | Nicht konfigurierbar im Basic-Tarif | – | – |
Basic | 2 | Nicht konfigurierbar im Basic-Tarif | – | – |
Universell | 2 | 16777216 | 1024 | 67108864 |
Universell | 4 | 16777216 | 1024 | 134217728 |
Universell | 8 | 16777216 | 1024 | 268435456 |
Universell | 16 | 16777216 | 1024 | 536870912 |
Universell | 32 | 16777216 | 1024 | 1073741824 |
Universell | 64 | 16777216 | 1024 | 1073741824 |
Arbeitsspeicheroptimiert | 2 | 16777216 | 1024 | 134217728 |
Arbeitsspeicheroptimiert | 4 | 16777216 | 1024 | 268435456 |
Arbeitsspeicheroptimiert | 8 | 16777216 | 1024 | 536870912 |
Arbeitsspeicheroptimiert | 16 | 16777216 | 1024 | 1073741824 |
Arbeitsspeicheroptimiert | 32 | 16777216 | 1024 | 1073741824 |
time_zone
Bei der ersten Bereitstellung enthält ein Server für Azure for MariaDB Systemtabellen für Zeitzoneninformationen, die jedoch nicht aufgefüllt sind. Die Zeitzonentabellen können durch Aufrufen der gespeicherten Prozedur mysql.az_load_timezone
über ein Tool wie die MySQL-Befehlszeile oder MySQL Workbench aufgefüllt werden. Informationen zum Aufrufen der gespeicherten Prozedur und zum Festlegen der globalen Zeitzonen oder Zeitzonen auf Sitzungsebene finden Sie in den Artikeln für das Azure-Portal und die Azure CLI.
Nicht konfigurierbare Serverparameter
Die folgenden Serverparameter können im Dienst nicht konfiguriert werden:
Parameter | Fester Wert |
---|---|
innodb_file_per_table (im Tarif „Basic“) | OFF |
innodb_flush_log_at_trx_commit | 1 |
sync_binlog | 1 |
innodb_log_file_size | 256 MB |
innodb_log_files_in_group | 2 |
Weitere Serverparameter, die hier nicht aufgeführt sind, werden auf die vordefinierten Standardwerte für MariaDB festgelegt.
Nächste Schritte
- Informationen zum Konfigurieren von Serverparametern mithilfe des Azure-Portals
- Informationen zum Konfigurieren von Serverparametern mithilfe der Azure CLI
- Informationen zum Konfigurieren von Serverparametern mithilfe von PowerShell