
Estou tendo o servidor mysql em centos que está funcionando bem, recentemente recebi um script para despejar todos os bancos de dados individuais em uma pasta, quando executo esse script para despejar, estou recebendo este erro sempre que executo o 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
eu até tenho /var/lib/mysql/mysql.sock
no servidor, o que há de errado, até tentei scripts diferentes para executar minha tarefa toda vez que tenho o mesmo problema,
mas consigo fazer login usando, mysql -u root -p
posso despejar usando mysqldump -u root -p db_1 > db_1.sql
nada, criando problema, mas somente quando executo o script, ele está criando problema
as linhas do script da seguinte forma,
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 sugira soluções.
Responder1
Vendo seu erro por algum motivo, ele está tentando usar um soquete Unix incorreto.
Tente adicionar ao comando mysql o parâmetro -S /var/lib/mysql/mysql.sock
.