Daten für den Zugang zu einer MariaDB-Datenbank (Datenbankname, Anmeldename, Kennwort) stehen in einer „Geheimnis”-Datei. Die Geheimnis-Datei ist eine Textdatei mit Zeilen der folgenden Art:
dbkey.mysql.DBKEY
=DBACCESS
mysql.DBACCESS
.name=DBNAME
mysql.DBACCESS
.user=DBUSER
mysql.DBACCESS
.password=PASSWORD
DBNAME
DBNAME
ist der Name der MariaDB-Datenbank.
DBUSER
DBUSER
ist der Anmeldename, mit dem sich ein Anwender mit dem Kennwort PASSWORD
an der Datenbank DBNAME
anmelden kann.
PASSWORD
PASSWORD
ist das Kennwort zu dem Anmeldenamen DBUSER
für die Datenbank DBNAME
.
DBACCESS
DBACCESS
ist eine Bezeichnung für den Datenbank-Zugang, bestehend aus der Kombination von Datenbanknamen DBNAME
, Anmeldenamen DBUSER
und Kennwort PASSWORD
.
Wenn die DBNAME
-Zeile in der Geheimnis-Datei fehlt, dann ist DBACCESS
gleichzeitig der Datenbankname.
DBKEY
DBKEY
ist ein Schlüssel, dem ein Datenbank-Zugang zugeordnet ist.
Das Modul Herbaer::MysqlAccess
exportiert die eine Funktion get_database
.
my $dba =get_database
($dbkey
,$secrets
,$verbose
); my $db_handle = $dba -> [0]; my $db_name = $dba -> [1];
Das Ergebnis ist eine Liste (ARRAY-Ref) aus einem DBI-Datenbank-Handle und dem Datenbanknamen zu dem Datenbank-Schlüssel $dbkey
. Im Falle eines Fehlers ist das Ergebnis undefiniert.
$dbkey
Der Schlüssel zu dem Datenbank-Zugang.
$secrets
(optional)Der Dateipfad der Geheimnis-Datei.
Wenn dieser Parameter nicht angegeben ist, sollte die Modul-Datei MysqlAccess.pm
in oder unter dem Verzeichnis
liegen. Der Teilpfad ab KLEIDER
/catalog/catalog/
wird durch /web/secrets
ersetzt.
Das Thema Datenbanken gehört eher zum Kleider-Katalog als zur Website, aber die „Geheimnis”-Datei habe ich im Zusammenhang mit der Website entworfen. So sind die Dateipfade zu erklären.
$verbose
(optional)Wenn der Wert logisch wahr ist (Voreinstellung), dann werden Fehlermeldungen nach STDERR ausgegeben, wenn die erwarteten Einträge in der Geheimnis-Datei fehlen.
DBI
für den Datenbank-Zugang.
Das Skript dbdump.pl
(Quelltext) benutzt dieses Modul Herbaer::MysqlAccess
, ebenso das Skript, das von der Transformation dump_insert.xslt
erzeugt wird.