Método mais fácil para truncar todas as tabelas mantendo o esquema.
mysqldump -d -uuser -ppass --add-drop-table databasename > databasename.sql
mysql -uuser -ppass databasename < databasename.sql
Não tenho certeza se ele manterá os procedimentos armazenados, pois eles não estão em uso onde trabalho, mas uso isso regularmente para redefinir bancos de dados.
O
-d
ligar mysqldump significa "não despeje dados." A
--add-drop-table
precede uma instrução DROP TABLE para cada CREATE TABLE no dump.