当前位置 : 主页 > 数据库 > mysql >

mysql怎么导出单个存储过程?

来源:互联网 收集:自由互联 发布时间:2021-09-06
在mysql中,可以使用“mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName procedurename.sql”语句来导出单个存储过程。 (推荐教程:mysql视频教程) 查看指定的存储过程内容: select body from mys

在mysql中,可以使用“mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedurename.sql”语句来导出单个存储过程。

(推荐教程:mysql视频教程)

查看指定的存储过程内容:

select body from mysql.proc where name='procedurename';

查看所有的存储过程:

show procedure status;

导出MySQL的存储过程

mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedurename.sql

参数说明:

  • -n: --no-create-db

  • -d: --no-data

  • -t: --no-create-info

  • -R: --routines Dump stored routines (functions and procedures)

主要参数介绍:

字符集选项

  • --default--character-set=xx

连接选项

  • -u,--user=name

  • -p,--password=name

  • -h,--host=name

  • -P,--port=#

输出内容选项

  • --add-drop-database

  • --add-drop-table

  • -n;--no-create-db

  • -d;--no-data

  • -t;--no-create-info

输出格式选项

  • --compact

  • -c --complete-insert

  • -T(指定数据表中的数据备份为单纯的数据文件和建表SQL两个文件)

注xx.sql建表文件是以linux的root用户创建,

而xx.txt文件则是一linux的mysql用户创建,

因此这两个文件的存放路径一定要保证mysql用户有读写创建文件的权限。

  • --fields-terminated-by=name(域分隔符)

  • --fields-enclosed-by=name(域引用符)

  • --fields-optionally-enclosed-by=name(域引用可选字符)

  • --fields-escaped-by=name(转义字符)

其他

  • -F --flush-logs(备份前刷新日志)

  • -l --lock-tables(给所有的表加读锁)

导入MySQL的存储过程

mysql -hhostname -uusername - ppassword databasename < backupfile.sql

以上就是mysql怎么导出单个存储过程?的详细内容,更多请关注自由互联其它相关文章!

网友评论