How to Skip Existing Data While Restoring mysqldump File?
I have four(4) suggestions:
SUGGESTION #1 : Recreate dump with INSERT IGNORE
Use --insert-ignore

Write INSERT IGNORE statements rather than INSERT statements.

What happens on reload ???

New data gets inserted.
Already existing primary keys are skipped

SUGGESTION #2 : Change INSERT to INSERT IGNORE on reload
Instead of loading normally
mysql -u root -p database_name &lt; database_name.sql

just pipe the dump into sed and reload like this:
cat database_name.sql|sed 's/^INSERT/INSERT IGNORE/'|mysql -u root -p database_name

SUGGESTION #3 : Recreate dump with REPLACE INTO
Use --replace

Write REPLACE statements rather than INSERT statements.

What happens on reload ???

New data gets inserted.
Already existing primary keys will be deleted and re-inserted

SUGGESTION #4 : Change INSERT INTO to REPLACE INTO on reload
Instead of loading normally
mysql -u root -p database_name &lt; database_name.sql

just pipe the dump into sed and reload like this:
cat database_name.sql|sed 's/^INSERT INTO/REPLACE INTO/'|mysql -u root -p database_name

SUMMARY

Use suggestions 1 or 3 if you can recreate the dump
Use suggestions 2 or 4 if you cannot recreate the dump

GIVE IT A TRY !!!