Linux-Magazin_-_Januar_2019

(singke) #1
Häufig wird Maria DB zusammen mit
HA-Proxys verwendet. Verbindungen,
die über einen TCP/ IP-Proxy eintreffen,
haben oft die Eigenschaft, dass sie die
IP-Adresse des Proxys ausweisen und
nicht die IP-Adresse des ursprünglichen
Servers, der die Anfrage abschickte. Das
macht es schwierig, bei Problemen eine
Verbindung einer Applikation oder einem
bestimmten Server zuzuordnen. Zudem
ist der Maria-DB-Sicherheitsmechanis-
mus, der auf IP-Adressen beruht, in die-
sem Fall ausgehebelt.

Neues für Proxy und Netz


Um diese Probleme in den Griff zu krie-
gen, hat HA Proxy das Proxy-Protokoll
[4] definiert, das Maria DB nun sowohl
Client- als auch Server-seitig unterstützt.
Damit sind bei einem Server wieder die
ursprünglichen IP-Adressen zu sehen.
Server-seitig erfolgt das Aktivieren des
Proxy-Protokolls durch eine Variable:
[mysqld]
proxy_protocol_neworks = localhost,U
192.168.2.0/24

Außerdem ist es jetzt möglich, die
Default-TCP-Keepalive-Parameter des
Betriebssystems für Maria DB zu über-
steuern. Das erreicht der Admin mit den
Maria-DB-Systemvariablen »tcp_keep-
alive_time«, »tcp_keepalive_interval«
und »tcp_keepalive_probes«, die analog
zu den Betriebssystemvariablen zu ver-
wenden sind.

Diskmanagement


Maria DB ist durch Plugins (Module) er-
weiterbar und ermutigt die Community,
solche auch zu entwickeln und beizu-
steuern. Ein solches Plugin ist das Disks-
Plugin, das es erlaubt, über die Daten-
bank den Füllgrad der eingesetzten Plat-
ten abzufragen. Das ist vor allem dann

kann. Folgende Inno-DB-Systemvariablen
wurden entfernt und dürfen daher nicht
mehr in der Maria-DB-Konfigurationsda-
tei vorkommen: »innodb_file_format«,
»innodb_file_format_check«, »innodb_
file_format_max«, »innodb_large_prefix«,
»innodb_mtflush_threads«, »innodb_use_
mtflush«. Falls der Admin diese Variablen
nicht aus der »my.cnf« entfernt, startet
die Maria-DB-Instanz nach dem Upgrade
nicht mehr.
Die Feature-Statusinformationen zei-
gen, welche Features Maria DB wie oft
verwendet hat. Neu sind: »Feature_sys-
tem_versioning«, »Feature_invisible_co-
lumns«, »Feature_json« und »Feature_
custom_aggregate_functions«.
Beim Table Open Cache (TOC) wurden
sämtliche Statusinformationen imple-
mentiert, die bereits in MySQL 5.7 zur
Verfügung standen: »Table_open_cache_
active_instances«, »Table_open_cache_
hits«, »Table_open_cache_misses« sowie
»Table_open_cache_overflows«, um das
Verhalten des TOC besser überwachen
zu können.
Die Statusinformation »innodb_buffer_
pool_load_incomplete« zeigt schließlich
an, ob das Laden des Inno-DB-Buffer-
Pools nach dem Neustart der Instanz be-
reits vollendet ist oder noch läuft.

Logging


Maria DB verfügt über zwei mächtige
Logfiles: das General Query Log für alle
Abfragen und das Slow Query Log für
die per Definition langsamen Abfragen.
Neu hinzugekommen sind Ausschluss-
kriterien für beide Logfiles, die festlegen,
welche Arten von Statements nicht zu
loggen sind. Für das General Query Log
ist hierfür die Variable »log_disabled_
statements« zuständig mit den möglichen
Werten »slave« und »sp« (Stored Procedu-
res) und für das Slow Query Log die Vari-
able »log_slow_disabled_statements« mit

von Bedeutung, wenn der Datenbank-
Admin keinen direkten Zugriff auf das
Betriebssystem hat, und erleichtert das
Überwachen der für die Datenbank rele-
vanten Platten. Das Disks-Plugin liefert
Maria DB standardmäßig mit aus, man
braucht es nur zu laden:
SQL> INSTALL SONAME 'disks';
ERROR 1126 (HY000): Can't open shared U
library 'disks.so' (errno: 1, Loading U
of beta plugin DISKS is prohibited by U
‑‑plugin‑maturity=gamma)
Da taucht plötzlich ein unerwartetes Pro-
blem auf: Das Plugin scheint noch nicht
ganz ausgereift zu sein (Beta-Qualität).
Der Server erlaubt aber nur Plugins, die
mindestens Gamma-Qualität aufweisen
(eine Stufe niedriger als die Qualität des
Servers selbst: Stable).
Die Abstufung lautet wie folgt: Unknown,
Experimental, Alpha, Beta, Gamma, Sta-
ble. Leider lässt sich diese Variable, die
den Server davor schützen soll, Plug-
ins von noch ungenügender Qualität zu
laden, nicht online ändern. Ein Daten-
bank-Restart ist dazu erforderlich. Wer
die Datenbank dann schließlich wieder
gestartet hat, kann die Disk mit SQL-
Bordmitteln abfragen (Listing 13).

Systemvariablen und
Statusinformationen

Maria-DB-Systemvariablen und Statusin-
formationen sind so eine Sache: Laufend
kommen neue hinzu, manchmal fallen
ein paar alte weg. Was sie genau be-
deuten, ist nicht immer so ganz klar,
aber man bräuchte sie eigentlich fürs
Monitoring und das Überwachen der Da-
tenbank. Hier ein kurzer Überblick über
noch nicht besprochene Systemvariablen
und Statusinformationen, die sich mit
Maria DB 10.3 geändert haben.
Die Systemvariable »secure_timestamp«
beeinflusst, wie und ob eine Verbindung
ihren lokalen Session Timestamp ändern

01 SQL> SELECT Disk, Path
02 , ROUND(Total/1024/1024, 0) AS Total_GB
03 , ROUND(Used/1024/1024, 0) AS Used_GB
04 , ROUND(Available/Total*100, 1) AS Free_Pct
05 FROM information_schema.disks
06 WHERE disk LIKE '/dev/%';
07 +‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+

08 | Disk | Path | Total_GB | Used_GB | Free_Pct |
09 +‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+
10 | /dev/sdb1 | / | 183 | 23 | 82.4 |
11 | /dev/sdb3 | /home | 704 | 485 | 26.0 |
12 | /dev/sda1 | /home/mysql/database | 164 | 75 | 49.4 |
13 +‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑+‑‑‑‑‑‑‑‑‑‑+

Listing 13: Freien Plattenplatz abfragen

Sysadmin

72


http://www.linux-magazin.de

Maria DB 10.3
Free download pdf