使用 mysqldump 导出数据库时,如下所示:
mysqldump -u mysqluser -p mysqlpassword databasename > /tmp/databasename.sql
此命令是否还会导出使用以下命令列出的存储过程:
SHOW PROCEDURE STATUS WHERE db = 'databasename';
如果没有,如何从 Linux 终端使用 mysqldump 导出 mysql 数据库及其关联的存储过程?另请注意,我不能使用 phpMyAdmin 来实现此目的。
试试这个。
mysqldump -u mysqluser -p mysqlpassword --routines databasename > /tmp/databasename.sql
请参阅此链接:http://www.ducea.com/2007/07/25/dumping-mysql-stored-procedures-functions-and-triggers/
我们可以使用 -R 标志作为 --routines 标志的替代品,同时按照其他答案的建议进行转储。
mysqldump -u mysqluser -p mysqlpassword -R databasename > /tmp/databasename.sql
例如,使用
-R
或--routines
,您可以将apple
数据库的表的架构和数据及其过程和函数导出到backup.sql
,如下所示。 *不可能只导出过程或函数,我的回答解释了如何导出数据库表的架构和数据:
mysqldump -u john -p -R apple > backup.sql
或者:
mysqldump -u john -p --routines apple > backup.sql
并且使用
-B
(--databases
) 和 -R
(--routines
),您可以将 apple
和 orange
数据库的架构和数据及其过程和函数导出到 backup.sql
,如下所示。 *我的回答解释了如何导出多个数据库的模式和数据:
mysqldump -u john -p -B -R apple orange > backup.sql
并且使用
-A
(--all-databases
)和-R
(--routines
),您可以将所有数据库的模式和数据及其所有过程和功能导出到backup.sql
,如下所示。 *我的回答解释了如何导出所有数据库的模式和数据:
mysqldump -u john -p -A -R > backup.sql