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 导出数据库

    数据库转移时,导出数据库与导入数据库的操作 操作方法 01 导出数据库:mysqldump -u 用户名 -p 数据库名 > 导出的文件名 如我输入的命令行:mysqldump -u root ...

  • mysql导出数据库为sql文件

    有时候网站维护,或需要备份时我们往往需要对mysql数据表进行导出操作.今天为大家讲解. 操作方法 01 打开cmd 02 进入mysql的bin目录 03 输入mysqldump -u 用户名 -p ...

  • MySQL Workbench 连接,导入和导出数据库

    通过MySQL自带的命令行工具对数据库进行管理及操作,有时没有图形化的软件方便.本文介绍MySQL Workbench 连接,导入和导出数据库的方法,方便我们处理,备份数据 操作方法 01 新建数据库 ...

  • eclipse里导入导出数据库

    eclipse里导入导出数据库的方法 操作方法 01 导入:在mysql命令行里创建相应的库名 create database bcunews; use bcunews; scource D:/bcu ...

  • 巧妙利用mysql工具导出数据库表数据

    作为一名程序开发人员,数据库的操作相信大家都是很频繁的.那么,当数据库迁移或者数据库内表数据过多时,要转到别的数据库,该怎么办呢? 今天,给大家介绍下利用mysql工具导出数据库表数据的方法. 操作方 ...

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

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

  • 如何用Visual Studio操作MySQL?在Visual Studio中连接MySQL数据库的方法

    MySQL是什么?如何用Visual Studio操作MySQL?MySQL是最流行的关系型数据库管理系统,在Web应用方面是最好的RDBMS应用软件之一,作为开放源码软件,可大大降低总体拥有成本.V ...

  • php访问mysql数据库的方法

    PHP访问mysql数据库的方法,大致有三种:分为普通方法,对象方法和pdo方法,现在我们来看看 操作方法 01 普通方法,就是利用PHP面向过程的方式,写代码. $mysql_server=&quo ...

  • PL/SQL Developer导入导出数据库方法

    如何使用PLSQL Developer从oracle数据库 导入导出数据 操作方法 01 用pl/sql developer导出表的数据时有三种方式:Oracle Export,Sql Insert, ...