mysql: pass options consistently when listing databases.
[matthijs/upstream/backupninja.git] / handlers / mysql.in
index 3a908f68ef669b62e6c0cb3d63eeb230a5b86199..7ff194e924b1f6bf655d638efc24dc94bd948764 100644 (file)
@@ -182,7 +182,7 @@ then
                info "dbhost: $dbhost"
                execstr="$VSERVER $vsname exec $MYSQLHOTCOPY -h $dbhost --quiet --allowold --regexp /.\*/./.\*/ $hotdir"
        else
-               execstr="$MYSQLHOTCOPY --quiet --allowold --regexp /.\*/./.\*/ $hotdir"
+               execstr="$MYSQLHOTCOPY -h $dbhost --quiet --allowold --regexp /.\*/./.\*/ $hotdir"
        fi
        debug "su $user -c \"$execstr\""
        if [ ! $test ]
@@ -203,9 +203,9 @@ then
        do
                if [ $usevserver = yes ]
                then
-                       execstr="$VSERVER $vsname exec $MYSQLHOTCOPY --allowold $db $hotdir"
+                       execstr="$VSERVER $vsname exec $MYSQLHOTCOPY -h $dbhost --allowold $db $hotdir"
                else
-                       execstr="$MYSQLHOTCOPY --allowold $db $hotdir"
+                       execstr="$MYSQLHOTCOPY -h $dbhost --allowold $db $hotdir"
                fi
                debug 'su $user -c \"$execstr\"'
                if [ ! $test ]
@@ -235,8 +235,8 @@ then
     then
        if [ $usevserver = yes ]
        then
-           debug 'echo show databases | $VSERVER $vsname exec su $user -c \"$MYSQL $defaultsfile\" | grep -v Database'
-           databases=`echo 'show databases' | $VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile" | grep -v Database`
+           debug "$VSERVER $vsname exec su $user -c \"$MYSQL $defaultsfile -N -B -e 'show databases'\" | sed 's/|//g;/\+----/d'"
+           databases=`$VSERVER $vsname exec su $user -c "$MYSQL $defaultsfile -N -B -e 'show databases'" | sed 's/|//g;/\+----/d'`
            if [ $? -ne 0 ]
            then
                fatal "Authentication problem, maybe user/password is wrong or mysqld is not running?"