El problema tiene dos partes:
A nivel de VB.Net, estás mandando a abrir un proceso D.O.S., por lo cual, cuando el proceso termina de ejecutarse, simplemente se cierra la ventana. Para evitarlo deberías crear el proceso de diferente forma. Esto te lo puedo postear en el foro de .Net si lo deseas.
A nivel de MySQL, el problema es que estás tratando de recuperar un backup creado con
mysqldump.exe directamente sobre el servidor de MySQL, sin crear la base de datos, ya que cuando has hecho backup de una sola base con mysqldump éste no agrega la opción de crear la base. Para que el proceso funcione bien, debes crear la base primero y luego volcar todo sobre ella.
Solamente si has realizado el backup con el parámetro -B o -databases, el archivo incuirá la creación de la base.
Además, estás cometiendo un error grave al usar un parámetro
-r, ya que en el intérprete de comandos mysql.exe, esto significa "
Muestra los valores de las columnas sin conversión de escape. Se usa a menudo con la opción" y no
"Redirige la salida a un fichero dado. ", como en mysqldump.exe...
En definitiva, el comando, escrito completo debería quedar:
Cita: rutaProgramFiles\MySQL\MySQL Server 5.0\bin\mysql.exe -user=usuario -password=clave nombreBase < archhivobackup.ext
Siendo
rutaProgramFiles la dirección de los Archivos de programa del sistema,
nombreBase el nombre de la base creada y
archhivobackup.ext el archivo que estás intentando recuperar.