summaryrefslogtreecommitdiffstats
path: root/config-db/OpenSLX/MetaDB/mysql.pm
diff options
context:
space:
mode:
Diffstat (limited to 'config-db/OpenSLX/MetaDB/mysql.pm')
-rw-r--r--config-db/OpenSLX/MetaDB/mysql.pm18
1 files changed, 15 insertions, 3 deletions
diff --git a/config-db/OpenSLX/MetaDB/mysql.pm b/config-db/OpenSLX/MetaDB/mysql.pm
index 8206ec2a..865b035d 100644
--- a/config-db/OpenSLX/MetaDB/mysql.pm
+++ b/config-db/OpenSLX/MetaDB/mysql.pm
@@ -44,10 +44,22 @@ sub connect ## no critic (ProhibitBuiltinHomonyms)
# build $dbSpec from individual parameters:
$dbSpec = "database=$openslxConfig{'db-name'}";
}
- my $user = (getpwuid($>))[0];
- vlog(1, "trying to connect user <$user> to mysql-database <$dbSpec>");
+ my $dbUser
+ = $openslxConfig{'db-user'}
+ ? $openslxConfig{'db-user'}
+ : (getpwuid($>))[0];
+ my $dbPasswd = $openslxConfig{'db-passwd'};
+ if (!defined $dbPasswd) {
+ use Term::ReadLine;
+ my $term = Term::ReadLine->new('slx');
+ my $attribs = $term->Attribs;
+ $attribs->{redisplay_function} = $attribs->{shadow_redisplay};
+ $dbPasswd = $term->readline("db-password> ");
+ }
+
+ vlog(1, "trying to connect user '$dbUser' to mysql-database '$dbSpec'");
$self->{'dbh'} = DBI->connect(
- "dbi:mysql:$dbSpec", $user, 'secret', {PrintError => 0}
+ "dbi:mysql:$dbSpec", $dbUser, $dbPasswd, {PrintError => 0}
) or die _tr("Cannot connect to database '%s' (%s)", $dbSpec, $DBI::errstr);
return 1;
}