it-swarm.asia

Hanya buang Prosedur Tersimpan di MySQL

Saya hanya perlu membuang prosedur yang tersimpan: tidak ada data, tidak ada pembuatan tabel. Bagaimana saya bisa melakukan ini menggunakan mysqldump?

32
nakhli

Ini harus dilakukan untuk Anda:

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

Akan jauh lebih baik untuk tidak memisahkan prosedur yang tersimpan dari database sehingga prosedur tersimpan yang spesifik akan dibuat dalam database yang dimaksudkan untuk itu. Hal yang sama berlaku untuk pemicu. Ini lebih disukai:

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