我从终端启动了 mysql 转储。我在 Linux 上。
mysqldump -u foto_admin -p foto_fotografare > /home/foto/foto_sql_back.sql
它要求我添加密码。我照做了,mysql 转储开始。现在终端卡在那里。它没有显示任何进程。它只是我在密码请求中留下的地方。当我查看 FTP 时,我看到了 sql 文件,并且我看到刷新 FTP 时没有添加任何数据。所以看起来已经完成了。但我怎么能确定它做了应该做的事情呢?
当我运行时:mysql> SHOW FULL PROCESSLIST;
没有显示任何进程。所以我必须假设转储正常吗?
答案1
检查 mysqldump 退出时的值$?
。0 表示成功,其他值表示某种描述的错误 - 这是大多数控制台应用程序的一般规则。mysql 实用程序通常也非常擅长提供有用的错误消息。
mysqldump ...
if [ $? -ne 0 ]
then
echo "Mysqdump failed - see extended error information above"
else
echo "Mysqldump successful"
fi
答案2
可能值得检查所有表的状态以查看是否需要修复。
您可以始终执行转储,然后从另一个会话跟踪转储的 PID,以查看原始会话冻结时数据是否仍在传递。