MySQL导出数据库、数据库表结构、存储过程及函数

https://blog.csdn.net/lierwang2017/article/details/78744468?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control

导出命令   mysqldump

一、导出数据库

    我的mysql安装目录是D:Program FilesMySQLMySQL Server 5.5in,导出文件预计放在D:sql

    在mysql的安装目录执行命令: mysqldump -hhostname -uusername -ppassword databasename > d:sqldatabasename.sql

二、导出数据库表结构

    执行命令: mysqldump -hhostname -uusername -ppassword -d databasename > d:sqldatabasename.sql

三、导出存储过程及函数

    1、查询数据库中的存储过程和函数

    方法一:

    select `name` from mysql.proc where db = 'databasename' and `type` = 'PROCEDURE'; // 存储过程
    select `name` from mysql.proc where db = 'databasename' and `type` = 'FUNCTION' // 函数

    方法二:

    show procedure status;
    show function status;

    

    2、mysql导出存储过程及函数

    执行命令: mysqldump -hhostname -uusername -ppassword -ntd -R databasename > prorandfunc.sql

    

四、总结


    -d 结构(--no-data:不导出任何数据,只导出数据库表结构)


    -t 数据(--no-create-info:只导出数据,而不添加CREATE TABLE 语句)


    -n (--no-create-db:只导出数据,而不添加CREATE DATABASE 语句)


    -R (--routines:导出存储过程以及自定义函数)


    -E (--events:导出事件)


    --triggers (默认导出触发器,使用--skip-triggers屏蔽导出)


    -B (--databases:导出数据库列表,单个库时可省略)


    --tables 表列表(单个表时可省略)
    ①同时导出结构以及数据时可同时省略-d和-t
    ②同时 不 导出结构和数据可使用-ntd
    ③只导出存储过程和函数可使用-R -ntd
    ④导出所有(结构&数据&存储过程&函数&事件&触发器)使用-R -E(相当于①,省略了-d -t;触发器默认导出)
    ⑤只导出结构&函数&事件&触发器使用 -R -E -d

原文地址:https://www.cnblogs.com/qinlongqiang/p/14009858.html