Je ne connais pas le degré de Python pur que vous souhaitez utiliser pour la copie, mais vous pouvez simplement déléguer l'intégralité de l'opération de canalisation au shell.
subprocess.Popen('mysqldump -h localhost -P 3306 -u -root mydb | mysql -h localhost -P 3306 -u root mydb2', shell=True)
Cela devrait fonctionner de la même manière que lorsque vous l'exécutez sur le shell.