Databases are all about saving data. With DBMS and RDBMS, the entire data became relational and all the records became related to each other as in the real world. So came into existence the concepts of primary keys, foreign keys, foreign key constraints and whole bunch of other terms like composite keys, referential integrity, indexes and what not.
mysqldump will backup by default all the triggers but NOT the stored procedures/functions. There are 2 mysqldump parameters that control this behavior:
—routines – FALSE by default
—triggers – TRUE by default
This means that if you want to include in an existing backup script also the triggers and stored procedures you only need to add the —routines command line parameter:
mysqldump <other mysqldump options> --routines outputfile.sql
Let’s assume we want to backup ONLY the stored procedures and triggers and not the mysql tables and data (this can be useful to import these in another db/server that has already the data but not the stored procedures and/or triggers), then we should run something like:
mysqldump --routines --no-create-info --no-data --no-create-db --skip-opt <database> > outputfile.sql
and this will save only the procedures/functions/triggers of the . If you need to import them to another db/server you will have to run something like:
mysql <database> < outputfile.sql
SHOW PROCEDURE STATUS; SHOW FUNCTION STATUS;
For MySQL you can specify your user and password in local config file (
.my.cnf). This file should be in your home directory (i.e. ~/.my.cnf).
[mysql] user=user password=password