zoukankan      html  css  js  c++  java
  • MySQL导出数据库、数据库表结构、存储过程及函数【用】

    一、导出数据库

        

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

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

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

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

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

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

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

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

     不会报警告:

     

    二、导出数据库表结构

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

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

    C:Program FilesMySQLMySQL 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 FilesMySQLMySQL Server 5.7>mysqldump --defaults-extra-file=my.cnf -
    d exam9 > e:/jiegou111.sql
    
    C:Program FilesMySQLMySQL Server 5.7>

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

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

    C:Program FilesMySQLMySQL 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 FilesMySQLMySQL Server 5.7in>mysqldump --defaults-extra-file=my.c
    nf -t exam9 > e:/shuju111.sql
    
    C:Program FilesMySQLMySQL Server 5.7in>

    四、导出存储过程及函数

    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

  • 相关阅读:
    经典8锁问题--助你彻底搞懂锁的概念
    linux上安装mysql
    Jenkins安装详解
    第一篇:实时网络日志分析器和交互式查看器--GoAccess安装
    Centos7上安装python3.7
    Nginx报错收集
    免费yum源镜像地址
    nginx日志文件切割
    腾讯云绑定和配置弹性网卡和添加弹性网卡
    LNMP-WEB应用环境搭建
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/8325823.html
Copyright © 2011-2022 走看看