了解 mysql 是否已完成其工作

了解 mysql 是否已完成其工作

我从终端启动了 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,以查看原始会话冻结时数据是否仍在传递。

相关内容