Tengo un servidor mysql en centos que funciona bien, recientemente obtuve un script para volcar todas las bases de datos individuales en una carpeta, cuando ejecuto ese script para volcar, aparece este error cada vez que ejecuto el script
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
Incluso tengo /var/lib/mysql/mysql.sock
en el servidor, ¿qué está mal? Incluso probé diferentes scripts para ejecutar mi tarea cada vez que tengo el mismo problema.
pero puedo iniciar sesión usando mysql -u root -p
Puedo volcar usando mysqldump -u root -p db_1 > db_1.sql
nada que cree un problema, pero solo cuando ejecuto el script está creando un problema
las líneas del guión de la siguiente manera,
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
por favor sugiera soluciones.
Respuesta1
Al ver su error, por alguna razón está intentando utilizar un socket Unix incorrecto.
Intente agregar al comando mysql el parámetro -S /var/lib/mysql/mysql.sock
.