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=DBACCESSmysql.DBACCESS.name=DBNAMEmysql.DBACCESS.user=DBUSERmysql.DBACCESS.password=PASSWORD
DBNAMEDBNAME ist der Name der MariaDB-Datenbank.
DBUSERDBUSER ist der Anmeldename, mit dem sich ein Anwender mit dem Kennwort PASSWORD an der Datenbank DBNAME anmelden kann.
PASSWORDPASSWORD ist das Kennwort zu dem Anmeldenamen DBUSER für die Datenbank DBNAME.
DBACCESSDBACCESS 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.
DBKEYDBKEY 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.
$dbkeyDer 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.