summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Kulik <mkulik@redhat.com>2021-08-25 09:15:24 +0200
committerDaniel Black <daniel@mariadb.org>2021-08-25 18:37:36 +1000
commit683f91a287c25ee3175013a69fb36925dd656fea (patch)
tree41a1b1e8ec8ba01893cf10a7380726355f6c6f3f
parentece30d47ca939944cdbb5bd2c12193c3c750fd01 (diff)
downloadmariadb-git-683f91a287c25ee3175013a69fb36925dd656fea.tar.gz
Fix mysql_setpermission hostname logic
Changes: - Don't include port in connection parameters with 'localhost' hostname More info: The hostname, if not specified or specified as '' or 'localhost', will default to a MySQL server running on the local machine using the default for the UNIX socket. To connect to a MySQL server on the local machine via TCP, you must specify the loopback IP address (127.0.0.1) as the host. Reported issue: https://bugzilla.redhat.com/show_bug.cgi?id=1976224
-rw-r--r--scripts/mysql_setpermission.sh7
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/mysql_setpermission.sh b/scripts/mysql_setpermission.sh
index 71462d28622..01b3d5e7e90 100644
--- a/scripts/mysql_setpermission.sh
+++ b/scripts/mysql_setpermission.sh
@@ -52,6 +52,7 @@ use strict;
use vars qw($dbh $sth $hostname $opt_user $opt_password $opt_help $opt_host
$opt_socket $opt_port $host $version);
+my $sqlport = "";
my $sqlhost = "";
my $user = "";
@@ -84,9 +85,13 @@ if ($opt_password eq '')
print "\n";
}
+# Using port argument with 'localhost' will cause an error
+if ($sqlhost ne "localhost") {
+ $sqlport = ":port=$opt_port";
+}
# make the connection to MariaDB
-$dbh= DBI->connect("DBI:mysql:mysql:host=$sqlhost:port=$opt_port:mysql_socket=$opt_socket",$opt_user,$opt_password, {PrintError => 0}) ||
+$dbh= DBI->connect("DBI:mysql:mysql:host=$sqlhost$sqlport:mysql_socket=$opt_socket",$opt_user,$opt_password, {PrintError => 0}) ||
die("Can't make a connection to the mysql server.\n The error: $DBI::errstr");
# the start of the program