summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorNirbhay Choubey <nirbhay.choubey@oracle.com>2012-07-26 21:59:05 +0530
committerNirbhay Choubey <nirbhay.choubey@oracle.com>2012-07-26 21:59:05 +0530
commit251545431d44c48de5c20475108bd454407f3c2d (patch)
tree1ce484419a6f560c5c119a8ce02cd5691851d3f3 /scripts
parent35785ed8b0781e26c9ef949d886acd556a0ec71c (diff)
parent55f3fd4d635a5f7fa643ef87556ed0547ded4ae9 (diff)
downloadmariadb-git-251545431d44c48de5c20475108bd454407f3c2d.tar.gz
Merge of patch for Bug#13741677 from mysql-5.1.
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/mysql_secure_installation.pl.in10
-rw-r--r--scripts/mysql_secure_installation.sh18
2 files changed, 20 insertions, 8 deletions
diff --git a/scripts/mysql_secure_installation.pl.in b/scripts/mysql_secure_installation.pl.in
index 543b8d1b1c0..278fffe7322 100755
--- a/scripts/mysql_secure_installation.pl.in
+++ b/scripts/mysql_secure_installation.pl.in
@@ -1,7 +1,7 @@
#!/usr/bin/perl
# -*- cperl -*-
#
-# Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ my $mysql; # How to call the mysql client
my $rootpass = "";
-$SIG{QUIT} = $SIG{INT} = sub {
+$SIG{QUIT} = $SIG{INT} = $SIG{TERM} = $SIG{ABRT} = $SIG{HUP} = sub {
print "\nAborting!\n\n";
echo_on();
cleanup();
@@ -242,7 +242,11 @@ sub reload_privilege_tables {
}
sub cleanup {
- unlink($config,$command);
+ print "Cleaning up...\n";
+
+ foreach my $file ($config, $command) {
+ unlink $file or warn "Warning: Could not unlink $file: $!\n";
+ }
}
diff --git a/scripts/mysql_secure_installation.sh b/scripts/mysql_secure_installation.sh
index 5e84a92a76c..c92cb1262df 100644
--- a/scripts/mysql_secure_installation.sh
+++ b/scripts/mysql_secure_installation.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@ config=".my.cnf.$$"
command=".mysql.$$"
mysql_client=""
-trap "interrupt" 2
+trap "interrupt" 1 2 3 6 15
rootpass=""
echo_n=
@@ -139,13 +139,16 @@ set_root_password() {
if [ $? -eq 0 ]; then
echo "Password updated successfully!"
echo "Reloading privilege tables.."
- reload_privilege_tables || exit 1
+ reload_privilege_tables
+ if [ $? -eq 1 ]; then
+ clean_and_exit
+ fi
echo
rootpass=$password1
make_config
else
echo "Password update failed!"
- exit 1
+ clean_and_exit
fi
return 0
@@ -157,7 +160,7 @@ remove_anonymous_users() {
echo " ... Success!"
else
echo " ... Failed!"
- exit 1
+ clean_and_exit
fi
return 0
@@ -217,6 +220,11 @@ cleanup() {
rm -f $config $command
}
+# Remove the files before exiting.
+clean_and_exit() {
+ cleanup
+ exit 1
+}
# The actual script starts here