当前位置:网站首页>你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!
你我都会遇到的需求:如何导出MySQL中的数据~ 简单!实用!
2022-08-02 20:52:00 【马小屑】
那本文就跟大家介绍我常用的两种方式,如下:
方式一: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每读到一行数据,就会立刻将这行数据返回给客户端,虽然交互的次数多了点,但是直接解决掉客户端内存消耗问题。

学废了没?
边栏推荐
猜你喜欢

56.【全局变量和局部变量专题】

A brief discussion on the transformation of .NET legacy applications
Adobe官方清理工具Adobe Creative Cloud Cleaner Tool使用教程

包管理工具Chocolate - Win10如何安装Chocolate工具、快速上手、进阶用法

Common tools and test methods for interface testing (Introduction)

开关、电机、断路器、电热偶、电表接线图大全

软件测试的流程规范有哪些?具体要怎么做?

信息学奥赛一本通(1258:【例9.2】数字金字塔)

【目标检测】YOLOv5:640与1280分辨率效果对比

引用类型 ,值类型 ,小坑。
随机推荐
Nervegrowold hands-on learning deep learning V2 - Bert pre training data set and code implementation
Day35 LeetCode
李沐动手学深度学习V2-bert预训练数据集和代码实现
用户之声 | GBASE南大通用实训有感
[C题目]力扣1. 两数之和
SublimeText3 安装、配置项、包管理、常用必备插件、常用快捷键以及修改
框架设计:PC 端单页多页框架如何设计与落地
从零开始配置 vim(5)——本地设置与全局设置
The Orsay in Informatics (1256: Bouquet for Algernon)
如何使用windbg查看C#某个线程的栈大小 ?
golang刷leetcode: 卖木头块
汉源高科千兆4光4电工业级网管型智能环网冗余以太网交换机防浪涌防雷导轨式安装
Adobe官方清理工具Adobe Creative Cloud Cleaner Tool使用教程
2022年金九银十,Android面试中高频必问的问题汇总
WPF development through practical 】 【 automatic production management platform
你所不知道的C#中的细节
Informatics orsay a tong (1258: 【 9.2 】 digital pyramid)
【21天学习挑战赛】冒泡排序与插入排序
X 2 Earn必须依靠旁氏启动?GameFi的出路在哪?(下)
golang 刷leetcode:Morris 遍历