知道mysql是否已经完成了它的工作

我从terminal开始了一个mysql转储。 我在Linux上。

mysqldump -u foto_admin -p foto_fotografare > /home/foto/foto_sql_back.sql 

它要求我添加一个密码。 我做到了,并开始了mysql转储。 现在terminal卡在那里。 它没有显示任何过程。 它就是我在密码请求上留下的地方。 当我查看FTP时,我看到了sql文件,并且看到刷新了没有更多数据添加的FTP。 所以它看起来像完成了。 但是我怎么能确定它做了什么?

当我运行: mysql> SHOW FULL PROCESSLIST; 没有进程显示。 所以我必须假设转储好吗?

检查$?的值$? 当mysqldump退出。 0表示成功,其他任何表示某些描述的错误 – 这是大多数控制台应用程序的一般规则。 MySQL实用程序通常也非常擅长提供有用的错误消息。

 mysqldump ... if [ $? -ne 0 ] then echo "Mysqdump failed - see extended error information above" else echo "Mysqldump successful" fi 

检查所有表的状态可能是值得的,看是否需要修复。

您可以始终执行转储,然后从另一个会话中转储转储的PID,以查看原始会话冻结时数据是否仍然通过。