У меня есть mysql сервер в песнях, который хорошо работает, я недавно заставил сценарий выводить все отдельные базы данных к одной папке, когда я запускаю тот скрипт для дампа, я получаю эту ошибку, когда когда-либо я запускаю скрипт
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
предложите решения.
Видя Вашу ошибку по каким-то причинам, он пытается использовать некорректный unix сокет.
Попробуйте добавить в команду mysql параметр -S /var/lib/mysql/mysql.sock
.