Herbaer::MysqlAccess


Datenbank-Schlüssel

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.

Funktion

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 KLEIDER/catalog liegen. Der Teilpfad ab /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.

Benutzte Module

DBI für den Datenbank-Zugang.

Anwendung

Das Skript dbdump.pl (Quelltext) benutzt dieses Modul Herbaer::MysqlAccess, ebenso das Skript, das von der Transformation dump_insert.xslt erzeugt wird.