ошибка mysql при запуске скрипта для дампа всех баз данных

ошибка mysql при запуске скрипта для дампа всех баз данных

У меня есть сервер MySQL в CentOS, который работает нормально, недавно я получил скрипт для дампа всех отдельных баз данных в одну папку. Когда я запускаю этот скрипт для дампа, я получаю эту ошибку каждый раз, когда я запускаю скрипт

mysqldump: Couldn't execute 'UNLOCK TABLES': MySQL server has gone away (2006)
Db_1
mysqldump: Got error: 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) when trying to connect
DB2

у меня даже /var/lib/mysql/mysql.sockна сервере, что не так, я даже пробовал разные скрипты для выполнения своей задачи каждый раз получаю одну и ту же проблему,

но я могу войти, используя, mysql -u root -p я могу сделать дамп, используя, mysqldump -u root -p db_1 > db_1.sql ничего не создавая проблем, но только когда я запускаю скрипт, он создает проблемы

строки сценария следующие:

databases=`$MYSQL --user=$MYSQL_ROOT_USER --password=$MYSQL_ROOT_PASSWORD -e "SHOW DATABASES;" | tr -d "| " | grep -v Database`
for db in $databases; do
echo $db
$MYSQLDUMP --force --opt --user=$MYSQL_ROOT_USER --password=$MYSQL_ROOT_PASSWORD --databases $db > "$OUTPUTDIR/$db.sql"
done

пожалуйста, предложите решения.

решение1

Видя вашу ошибку, по какой-то причине она пытается использовать неверный сокет unix.

Попробуйте добавить в команду mysql параметр -S /var/lib/mysql/mysql.sock.

Связанный контент