我从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,以查看原始会话冻结时数据是否仍然通过。