mysql: fix 'mysqladmin ping' use, see changelog for details
[matthijs/upstream/backupninja.git] / handlers / mysql.in
index fe1e7832f32ee43c090cf5e17d6e985e040f8376..e34b16dbb0c3c3d697d9ac0152079f70a53a1b79 100644 (file)
@@ -10,6 +10,7 @@ getconf nodata
 getconf dbhost localhost
 getconf hotcopy no
 getconf sqldump no
+getconf sqldumpoptions "--lock-tables --complete-insert --add-drop-table --quick --quote-names"
 getconf compress yes
 getconf vsname
 
@@ -245,7 +246,7 @@ then
 
        for db in $databases
        do
-           DUMP_BASE="$MYSQLDUMP $defaultsfile --lock-tables --complete-insert --add-drop-table --quick --quote-names"
+           DUMP_BASE="$MYSQLDUMP $defaultsfile $sqldumpoptions"
 
            # Dumping structure and data
            DUMP="$DUMP_BASE $ignore $db"
@@ -265,9 +266,9 @@ then
                if [ $usevserver = yes ]
                then
                    # Test to make sure mysqld is running, if it is not sqldump will not work
-                   $VSERVER $vsname exec su $user -c "$MYSQLADMIN $defaultsfile ping"
+                   $VSERVER $vsname exec su $user -c "$MYSQLADMIN $defaultsfile ping 2>&1 >/dev/null"
                    if [ $? -ne 0 ]; then
-                      fatal "Either you have an authentication problem, or mysqld doesn't appear to be running!"
+                      fatal "mysqld doesn't appear to be running!"
                    fi
                    if [ "$compress" == "yes" ]; then
                       execstr="$VSERVER $vsname exec $DUMP | $GZIP > $vroot$dumpdir/${db}.sql.gz"
@@ -276,9 +277,9 @@ then
                    fi
                else
                    # Test to make sure mysqld is running, if it is not sqldump will not work
-                   su $user -c "$MYSQLADMIN $defaultsfile ping"
+                   su $user -c "$MYSQLADMIN $defaultsfile ping 2>&1 >/dev/null"
                    if [ $? -ne 0 ]; then
-                      fatal "Either you have an authentication problem, or mysqld doesn't appear to be running!"
+                      fatal "mysqld doesn't appear to be running!"
                    fi
                    if [ "$compress" == "yes" ]; then
                       execstr="$DUMP | $GZIP > $dumpdir/${db}.sql.gz"