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

一、导出数据库

    

我的mysql安装目录是D:\Program Files\MySQL\MySQL Server 5.5\bin\,导出文件预计放在D:\sql\

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

 

 

 在mysql5.7的时候报出一个警告,但是数据导出成功:

 

现在换一种方式解决上述问题:

创建一my.cnf文件,我放在与mysqldump.exe同级目录下面:C:\Program Files\MySQL\MySQL Server 5.7\bin

[client]
port = 3306
socket = /tmp/mysql.sock
default-character-set = utf8mb4
host = localhost
user = root
password = '123456'

 

重新导出:(exam9为数据库名字)

C:\Program Files\MySQL\MySQL Server 5.7>mysqldump --defaults-extra-file=my.cnf e
xam9 > e:/database.sql

 不会报警告:

 

 

 

二、导出数据库表结构

第一种:(报警告,但是执行成功!)

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

C:\Program Files\MySQL\MySQL Server 5.7>mysqldump -uroot -p123456 -d exam9 >e:/j
iegou.sql
mysqldump: [Warning] Using a password on the command line interface can be insec
ure.

 

 

 第二种:(借助上面的cnf文件,不会报警告)

C:\Program Files\MySQL\MySQL Server 5.7>mysqldump --defaults-extra-file=my.cnf -
d exam9 > e:/jiegou111.sql

C:\Program Files\MySQL\MySQL Server 5.7>

 

 

 

三、导出数据库表结构以及数据

第一种:(报警告,但是执行成功!)

C:\Program Files\MySQL\MySQL Server 5.7>mysqldump -uroot -p123456 -t exam9 >e:/s
huju.sql
mysqldump: [Warning] Using a password on the command line interface can be insec
ure.

 

 第二种:(借助上面的cnf文件,不会报警告)

C:\Program Files\MySQL\MySQL Server 5.7\bin>mysqldump --defaults-extra-file=my.c
nf -t exam9 > e:/shuju111.sql

C:\Program Files\MySQL\MySQL Server 5.7\bin>

 

 

 

四、导出存储过程及函数

 

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值