執行腳本轉儲所有資料庫時出現 mysql 錯誤

執行腳本轉儲所有資料庫時出現 mysql 錯誤

我在centos 中有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 i can dump using mysqldump -u root -p db_1 > db_1.sql Nothing 來登錄,但只有當我運行腳本時才會產生問題

腳本行如下,

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

相關內容