mysqldump - does it have non-repeatable DMLs? We are migrating databases using mysqldump, and since this is the first time I'm doing it, I have a couple of questions. 

If in the middle of mysqldump the utility crashes(for some reason- latest was global max_allowed_packet error that I had to increase), can I just rerun the dumpfile completely or try to find how much it had progressed and start from there? Is the dumpfile from mysql

2nd question - I use 
    mysql -u &lt;> -p&lt;> &lt; dump.sql 
method to restore. Any chance we can see how much it has progressed? Is there any utility that would allow me to see the progress since I'm restoring 2 TB databases ?
2TB restore from mysqldump?? How long do you have? 

mysqldump  produces logical backup and it'd take longer to restore. Not scaring but I'd not dare to dump a 2TB database (unless you must)! I'd rather consider taking hotbackup.

About your other questions:


mysqldump will generate simple D[MD]L queries... create table, insert, create triggers/routines etc..
If mysqldump stops in between your dump will be incomplete, just like an incomplete SQL file!
You  can always check mysqldump finished correctly by checking last line of the output file, should say something like "Dump complelted..."
You may also check "$?" on shell  to confirm if the mysqldump command completed successfully.
About your progress, mysql internally doesn't report progress but from linux shell you can use (pipe viewer) pv command to know the progress.


Also:


Do refer mysqldump reference from documentation.
There existst mysqldumpsplitter to split from large dumpfiles if required.
If you consider to setup physical backup, setup instructions for xtrabackup+holland framework are there too.