我在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
。