mysql备份表和函数_MySQL导出数据库、数据库表结构、存储过程及函数【用】
发布日期:2021-06-24 01:28:24 浏览次数:3 分类:技术文章

本文共 2200 字,大约阅读时间需要 7 分钟。

一、导出数据库

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

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

2a45deae0aa458e2bd3acd1f1276295f.png

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

af3f6e51be841bfd2546af65c24aa1b2.png

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

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

[client]

port= 3306socket= /tmp/mysql.sockdefault-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

不会报警告:

f512de34712fceedbd3c60297b3abcca.png

二、导出数据库表结构

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

执行命令: 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 lineinterfacecan 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 Server5.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 lineinterfacecan 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 Server5.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

转载地址:https://blog.csdn.net/weixin_29240711/article/details/113127500 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:mysql的执行计划_MySQL 执行计划详解
下一篇:win10 安装docker流程_【docker】win10安装docker教程

发表评论

最新留言

不错!
[***.144.177.141]2024年04月04日 20时30分24秒