it-swarm.it

Scarica solo le stored procedure in MySQL

Devo scaricare solo le procedure memorizzate: nessun dato, nessuna creazione di tabelle. Come posso fare questo usando mysqldump?

32
nakhli

Questo dovrebbe farlo per te:

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.

AVVERTIMENTO

Sarebbe molto meglio non separare le procedure memorizzate dal database in modo che vengano create procedure memorizzate specifiche nel database a cui era destinata. Lo stesso vale per i trigger. Questo sarebbe preferibile:

mysqldump -h... -u... -p... -d --routines --triggers --all-databases > MySQLStoredProc.sql
37
RolandoMySQLDBA