diff options
author | Sergei Golubchik <serg@mariadb.org> | 2019-02-07 15:11:45 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2019-02-12 19:14:37 +0100 |
commit | 4e4df7b46deac857b51b29ccbab153edcd67e694 (patch) | |
tree | e8ac16ed27182b8c889c57f64a82a631ed1d2db4 /scripts | |
parent | b9f3f06857ac6f9105dc65caae19782f09b47fb3 (diff) | |
download | mariadb-git-4e4df7b46deac857b51b29ccbab153edcd67e694.tar.gz |
MDEV-12834 mysql_secure_installation should ask about unix_socket authentication
recognize new unix_socket protected accounts, and don't
scare the user into setting the password for them
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/mysql_secure_installation.sh | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/scripts/mysql_secure_installation.sh b/scripts/mysql_secure_installation.sh index 1bd21513d4d..9b5298949f3 100644 --- a/scripts/mysql_secure_installation.sh +++ b/scripts/mysql_secure_installation.sh @@ -17,6 +17,7 @@ config=".my.cnf.$$" command=".mysql.$$" +output=".my.output.$$" trap "interrupt" 1 2 3 6 15 @@ -216,7 +217,7 @@ prepare() { do_query() { echo "$1" >$command #sed 's,^,> ,' < $command # Debugging - $mysql_command --defaults-file=$config $defaults_extra_file $no_defaults $args <$command + $mysql_command --defaults-file=$config $defaults_extra_file $no_defaults $args <$command >$output return $? } @@ -268,15 +269,18 @@ get_root_password() { echo stty echo if [ "x$password" = "x" ]; then - hadpass=0 + emptypass=1 else - hadpass=1 + emptypass=0 fi rootpass=$password make_config - do_query "" + do_query "show create user root@localhost" status=$? done + if grep -q unix_socket $output; then + emptypass=0 + fi echo "OK, successfully used password, moving on..." echo } @@ -386,7 +390,7 @@ interrupt() { cleanup() { echo "Cleaning up..." - rm -f $config $command + rm -f $config $command $output } # Remove the files before exiting. @@ -405,9 +409,8 @@ echo "NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB" echo " SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!" echo echo "In order to log into MariaDB to secure it, we'll need the current" -echo "password for the root user. If you've just installed MariaDB, and" -echo "you haven't set the root password yet, the password will be blank," -echo "so you should just press enter here." +echo "password for the root user. If you've just installed MariaDB, and" +echo "haven't set the root password yet, you should just press enter here." echo get_root_password @@ -422,10 +425,10 @@ echo "root user without the proper authorisation." echo while true ; do - if [ $hadpass -eq 0 ]; then + if [ $emptypass -eq 1 ]; then echo $echo_n "Set root password? [Y/n] $echo_c" else - echo "You already have a root password set, so you can safely answer 'n'." + echo "You already have your root account protected, so you can safely answer 'n'." echo echo $echo_n "Change the root password? [Y/n] $echo_c" fi |