task_mysql_processes: try mysqladmin ping before dumping the processlist

This commit is contained in:
Jérémy Lecour 2022-04-26 18:18:56 +02:00 committed by Jérémy Lecour
parent 83a7d32766
commit 14e67de360

View file

@ -718,16 +718,20 @@ task_mysql_processes() {
if [ -n "${mysqladmin_bin}" ]; then
# Look for local MySQL or MariaDB process
if pgrep mysqld > /dev/null || pgrep mariadbd > /dev/null; then
last_result=$(${mysqladmin_bin} --verbose processlist > "${dump_dir}/mysql-processlist.txt")
last_rc=$?
if ${mysqladmin_bin} ping > /dev/null 2>&1; then
${mysqladmin_bin} --verbose processlist > "${dump_dir}/mysql-processlist.txt" 2> "${dump_dir}/mysql-processlist.err"
last_rc=$?
if [ ${last_rc} -eq 0 ]; then
debug "* mysqladmin OK"
if [ ${last_rc} -eq 0 ]; then
debug "* mysqladmin OK"
else
debug "* mysqladmin ERROR"
debug < "${dump_dir}/mysql-processlist.err"
rm "${dump_dir}/mysql-processlist.err"
rc=10
fi
else
debug "* mysqladmin ERROR"
debug "${last_result}"
# Ignore errors because we don't know how to deal with multiple instances
# rc=10
debug "* unable to ping with mysqladmin"
fi
else
debug "* no mysqld or mariadbd process is running"