J'ai besoin de vider uniquement les procédures stockées: pas de données, pas de création de table. Comment puis-je faire cela en utilisant mysqldump?
Cela devrait le faire pour vous:
mysqldump -h... -u... -p... -n -d -t --routines --triggers --all-databases > MySQLStoredProc.sql
-n, --no-create-db Suppress the CREATE DATABASE ... IF EXISTS statement
that normally is output for each dumped database if
--all-databases or --databases is given.
-d, --no-data No row information.
--triggers Dump triggers for each dumped table.
(Defaults to on; use --skip-triggers to disable.)
-R, --routines Dump stored routines (functions and procedures).
-t, --no-create-info Do not write CREATE TABLE statements that create each
dumped table.
CAVEAT
Il serait préférable de ne pas séparer les procédures stockées de la base de données afin que des procédures stockées spécifiques soient créées dans la base de données à laquelle elles étaient destinées. Il en va de même pour les déclencheurs. Ce serait préférable:
mysqldump -h... -u... -p... -d --routines --triggers --all-databases > MySQLStoredProc.sql