it-swarm.asia

تفريغ الإجراءات المخزنة فقط في MySQL

أحتاج إلى تفريغ الإجراءات المخزنة فقط: لا توجد بيانات ، لا إنشاء جدول. كيف يمكنني القيام بذلك باستخدام mysqldump؟

32
nakhli

يجب أن تفعل ذلك من أجلك:

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.

مذكرة قانونية

سيكون من الأفضل عدم فصل الإجراءات المخزنة عن قاعدة البيانات بحيث يتم إنشاء إجراءات مخزنة محددة في قاعدة البيانات التي كانت مخصصة لها. وينطبق الشيء نفسه على المحفزات. سيكون ذلك مفضلاً:

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