+1 за этот вопрос, потому что есть много разработчиков в мире БД, которые любят каталогизировать хранимые процедуры вне MySQL в программном обеспечении для контроля версий, которые хотели бы сделать это (я сам не фанат этого)
RolandoMySQLDBA
В моем случае эта команда выдает ошибку. У mysqldump: Got error: 23: "Out of resources when opening file"меня была --single-transactionвозможность устранить эту ошибку. И если вам нужна только подпрограмма, вы можете добавить - -no-create-infoчтобы избежать оператора создания таблицы.
Бедомон
Ответы:
34
Это должно сделать это для вас:
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 databaseif--all-databases or --databases is given.-d,--no-data No row information.--triggers Dump triggers for each dumped table.(Defaults toon;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.
ПРЕДОСТЕРЕЖЕНИЕ
Было бы намного лучше не отделять хранимые процедуры от базы данных, чтобы в базе данных, для которой они предназначались, были созданы конкретные хранимые процедуры. То же самое касается триггеров. Это было бы предпочтительнее:
Я попробовал это и должен был добавить опцию -t, чтобы не получать операторы создания таблицы.
Дерек Дауни
Забыл это, жаль, что я не могу высказать свои комментарии. Я обновил первую команду mysqldump, чтобы включить ее. Второй должен быть опущен, чтобы связать каждый триггер с его базовой таблицей. Еще раз спасибо, @DTest !!!
RolandoMySQLDBA
Нет проблем. В моем случае я просто хотел сохранить функции / процедуры для конкретной базы данных, а не триггеры. Так что все получилось
mysqldump: Got error: 23: "Out of resources when opening file"
меня была--single-transaction
возможность устранить эту ошибку. И если вам нужна только подпрограмма, вы можете добавить --no-create-info
чтобы избежать оператора создания таблицы.Ответы:
Это должно сделать это для вас:
ПРЕДОСТЕРЕЖЕНИЕ
Было бы намного лучше не отделять хранимые процедуры от базы данных, чтобы в базе данных, для которой они предназначались, были созданы конкретные хранимые процедуры. То же самое касается триггеров. Это было бы предпочтительнее:
источник