r221@um: micah | 2005-12-27 11:54:34 -0500
authormicah <micah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 17:38:07 +0000 (17:38 +0000)
committermicah <micah@758a04ac-41e6-0310-8a23-8373a73cc35d>
Tue, 27 Dec 2005 17:38:07 +0000 (17:38 +0000)
 If the user is set, make sure the --defaults-file is set for
 that user.

git-svn-id: http://code.autistici.org/svn/backupninja/trunk@282 758a04ac-41e6-0310-8a23-8373a73cc35d

handlers/mysql

index 20905d56232010748dabff102602b25e273e3db0..8507accbb35b2fb978f17d62cc4ca0a6d66f2f84 100644 (file)
@@ -47,32 +47,6 @@ then
        fi
 fi
 
-if [ "$user" == "" ]; then
-       userset=false;
-       user=root;
-else
-       userset=true;
-       if [ $usevserver ]
-       then
-           userhome=`$VSERVER $vsname exec getent passwd "$user" | awk -F: '{print $6}'`
-           if [ $? -eq 2 ]
-           then
-               fatal "User $user not found in /etc/passwd"
-           fi
-           userhome="$vroot$userhome"
-           debug "User home set to: $userhome"
-           [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
-       else
-           userhome=`getent passwd "$user" | awk -F: '{print $6}'`
-           if [ $? -eq 2 ]
-           then
-               fatal "User $user not found in /etc/passwd"
-           fi
-                   debug "User home set to: $userhome"
-           [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
-       fi
-fi
-
 ## Prepare ignore part of the command
 ## This only works for mysqldump at the moment
 
@@ -170,6 +144,33 @@ elif [ "$userset" == "false" ]; then
                defaultsfile="--defaults-file=$configfile"
 fi
 
+if [ "$user" == "" ]; then
+       userset=false;
+       user=root;
+else
+       userset=true;
+       if [ $usevserver ]
+       then
+           vuserhome=`$VSERVER $vsname exec getent passwd "$user" | awk -F: '{print $6}'`
+           if [ $? -eq 2 ]
+           then
+               fatal "User $user not found in /etc/passwd"
+           fi
+           userhome="$vroot$vuserhome"
+       else
+           userhome=`getent passwd "$user" | awk -F: '{print $6}'`
+           if [ $? -eq 2 ]
+           then
+               fatal "User $user not found in /etc/passwd"
+           fi
+               fi
+       
+       debug "User home set to: $userhome"
+       [ -f $userhome/.my.cnf ] || fatal "Can't find config file in $userhome/.my.cnf"
+       defaultsfile="--defaults-file=$vuserhome/.my.cnf"
+       debug "using $defaultsfile"
+fi
+
 #######################################################################
 ## HOT COPY
 
@@ -239,13 +240,13 @@ then
            databases=`echo 'show databases' | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database`
            if [ $? -ne 0 ]
            then
-               fatal "Something unexpected happened, the defaults file may have gone missing or is corrupt"
+               fatal "Authentication problem, maybe user/password is wrong"
            fi
        else
                databases=`echo 'show databases' | su $user -c "$MYSQL $defaultsfile" | grep -v Database`
                if [ $? -ne 0 ]
                then
-                   fatal "Something unexpected happened, the defaults file may have gone missing or is corrupt"
+                   fatal "Authentication problem, maybe user/password is wrong"
                fi
        fi
 fi