diff options
author | Marek Kulik <mkulik@redhat.com> | 2021-08-25 09:15:24 +0200 |
---|---|---|
committer | Daniel Black <daniel@mariadb.org> | 2021-08-25 18:37:36 +1000 |
commit | 683f91a287c25ee3175013a69fb36925dd656fea (patch) | |
tree | 41a1b1e8ec8ba01893cf10a7380726355f6c6f3f | |
parent | ece30d47ca939944cdbb5bd2c12193c3c750fd01 (diff) | |
download | mariadb-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.sh | 7 |
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 |