MySQL导出数据库的方法

本文就跟大家介绍我常用的两种方式,如下:

方式一:tee

tee的功能是把你与MySQL-Server之间的交互记录都记录到你指定的文件中去。

看下的案例:

Step1:按如下的方式同MySQL交互

// tee命令执行之后,你与MySQL之间的所有交流都会被记录到指定的文件中。
mysql> tee /root/res.txt
Logging to file '/root/res.txt'

mysql> show tables;
 ---------------- 
| Tables_in_test |
 ---------------- 
| runoob_tbl     |
 ---------------- 
1 row in set (0.00 sec)

mysql> select * from runoob_tbl;
 ----------- ----------------------- ----------------------- ----------------- 
| runoob_id | runoob_title          | runoob_author         | submission_date |
 ----------- ----------------------- ----------------------- ----------------- 
|         3 | 欢迎微信搜索:        | 风一样的程序员        | 2021-11-18      |
 ----------- ----------------------- ----------------------- ----------------- 
1 row in set (0.00 sec)

Step2:退出连接,然后去查看机器上的/etc/root/res.txt

方式二:mysql_use_result

第二种方式如下,在登录MySQL时指定好用哪个数据库和要执行的SQL语句,并将SQL的执行结果一股脑重定向到你指定的文件中。

还是上面的例子,对应的命令如下:

mysql -h 127.0.0.1 
    -P ${端口}  
    -p ${密码}   
    -u ${用户名}  
    -D ${数据库名}   
    -e"select * from runoob_tbl;" > ./info_100w &

执行完之后,查看结果文件:


这时候有个风险:如果你的SQL要捞出的数据量动辄几十几百G,或者TB级别,且依然使用上面的方式拉数据的话,就极有可能打爆内存。因为默认如上的情况中(使用的是mysql_store_result模式),MySQL是把你查到的数据全部加载进内存,再一股脑返回给你。

解决的方式:添加--quick参数

mysql -h 127.0.0.1 
    -P ${端口}  
    -p ${密码}   
    -u ${用户名}  
    -D ${数据库名} 
      --quick
    -e"select * from runoob_tbl;" > ./info_100w &

使用这个参数后会开启mysql_use_result模式,MySQL每读到一行数据,就会立刻将这行数据返回给客户端,虽然交互的次数多了点,但是直接解决掉客户端内存消耗问题。

学废了没?

(0)

相关推荐

  • 如何将数据库导入导出(mysql 导出数据)

    目录:通过命令导出.导入mysql数据库通过管理软件navicat通过phpmyadmin(一)通过命令导出.导入mysql数据库1导出命令(1)导出数据库 mysqldump -uroot -p - ...

  • sqlserver如何备份数据库(mysql数据库备份方法)

    [ucache灾备云]进行SQL Server自动化SQL Server数据库概述:SQL Server 是由Mircosoft开发和推广的关系数据库管理系统(DBMS).1996年,Microsof ...

  • 如何把SQL Server的数据库导为sql文件

    前言三桥君在学习数据库这门课程的过程中,被数据库的导入导出这个问题给困扰了很多次.在SQL Server软件中导入导出数据库的方法很多种,但是很多是比较复杂麻烦的,甚至报错了从网上也不方便找到解决方法 ...

  • oracle 数据库导入导出方法教程

    oracle11g数据库导入导出: ①:传统方式--exp(导出)和(imp)导入: ②:数据泵方式--expdp导出和(impdp)导入; ③:第三方工具--PL/sql Develpoer;一.什 ...

  • MySQL教程(MySQL数据库入门教程)

    一.MySQL基础1.1.MySQL概述数据库顾名思义,就是存储数据的仓库,这些数据是有组织存储的(DataBase简称DB).而数据库管理系统,即操作和管理数据的大型软件(DataBase Mana ...

  • VBA可以连接mysql数据库

    Excel VBA操作Access数据库有什么优势呢?首先,对于数据库要有一点了解,数据库就是一个库房,里面存放的不是粮食,也不是商品,而是数据,数据这个东西有点虚幻,看得见摸不着.但通过对数据的应用 ...

  • 小米便签有什么用?小米便签怎么导出

    很多时候,在我们使用手机的时候,我们会习惯性地在便签记录一些事情,以防忘记,其实跟备忘录是差不多的.比如小编喜欢用自己的手机创建一个NOTE,方便平时记录一些自己容易忘记的信息,像临近朋友生日,有时候 ...

  • 如何将iphone通讯录导出

    手机中的通讯录是一项重要的个人信息,可是在更换手机或是手机卡时,这项信息常常会被弄丢,不仅会给正常生活造成影响,甚至可能给我们的工作造成重大困难,那么,这个问题怎么解决呢?其实,在更换手机或手机卡之前 ...

  • 考勤机怎么导出数据 防止员工迟到早退的神器

    导语: 随着现在科学技术的飞速发展越来越多的地方都由机器代替了人工,而考勤机就是其中的主要代表.随着普及关于考勤机的问题也日渐被人们所关注,下面就一起来了解下考勤机的主要问题之一的数据要如何导出吧. ...