Eu não sei o grau de Python puro você deseja usar para a cópia, mas você pode delegar toda a operação de pipe para o shell.
subprocess.Popen('mysqldump -h localhost -P 3306 -u -root mydb | mysql -h localhost -P 3306 -u root mydb2', shell=True)
Isso deve funcionar da mesma maneira que funciona quando você o executa no shell.