MySQL导出数据库数据库表结构存储过程及函数用
Posted Qiao_Zhi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于MySQL导出数据库数据库表结构存储过程及函数用的主要内容,如果未能解决你的问题,请参考以下文章
mysql 与oracle中的存储过程及函数有啥区别,尽可能详细哦
MySQL mysqldump 导入/导出 结构&数据&存储过程&函数&事件&触发器