MySQL-Fehler beim Ausführen eines Skripts zum Sichern aller Datenbanken

MySQL-Fehler beim Ausführen eines Skripts zum Sichern aller Datenbanken

Ich habe einen MySQL-Server in CentOS, der einwandfrei läuft. Ich habe vor kurzem ein Skript erhalten, um alle einzelnen Datenbanken in einen Ordner zu kopieren. Wenn ich dieses Skript zum Kopieren ausführe, erhalte ich immer diesen Fehler, wenn ich das Skript ausführe

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

ich habe sogar /var/lib/mysql/mysql.sockauf dem Server, was ist falsch, ich habe sogar verschiedene Skripte ausprobiert, um meine Aufgabe jedes Mal auszuführen, wenn ich das gleiche Problem habe,

aber ich kann mich anmelden, indem mysql -u root -p ich einen Dump mache, ohne dass mysqldump -u root -p db_1 > db_1.sql etwas ein Problem verursacht, aber nur, wenn ich das Skript durchführe, verursacht es ein Problem

die Skriptzeilen wie folgt,

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

Bitte schlagen Sie Lösungen vor.

Antwort1

Aus irgendeinem Grund wird Ihr Fehler angezeigt. Es wird versucht, einen falschen Unix-Socket zu verwenden.

Versuchen Sie, dem MySQL-Befehl den Parameter hinzuzufügen -S /var/lib/mysql/mysql.sock.

verwandte Informationen