Dos problemas :
- el espacio entre -p y la contraseña
- el espacio dentro de la ruta al ejecutable
Prefiero esto:
runtime.exec(new String[]{"C:\\Program Files\\MySql\\MySql Server 5.5\\bin\\mysqldump", "-u", "root", "-pmyDatabase" "> D:\\backup.sql"});
Tenga en cuenta que si tiene un problema con runtime.exec, debe mirar las secuencias que puede obtener del Proceso . No mirar esos flujos en caso de error es un poco como no mirar la excepción cuando se lanza una.