您的位置 首页 > 数码极客

如何导出数据库mysql数据库文件怎么打开吗

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

方式一:tee

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

看下的案例:

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

// tee命令执行之后,你与MySQL之间的所有交流都会被记录到指定的文件中。 mysql> tee /roo Logging to file '/roo' mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | runoob_TBl | +----------------+ 1 row in set sec) mySQL> select * from runoob_tbl; +-----------+-----------------------+-----------------------+-----------------+ | runoob_id | runoob_title | runoob_author | submission_date | +-----------+-----------------------+-----------------------+-----------------+ | 3 | 欢迎微信搜索: | 风一样的程序员 | 2021-11-18 | +-----------+-----------------------+-----------------------+-----------------+ 1 row in set sec)

Step2:退出连接,然后去查看机器上的/etc/roo

方式二: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每读到一行数据,就会立刻将这行数据返回给客户端,虽然交互的次数多了点,但是直接解决掉客户端内存消耗问题。

学废了没?

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何导出数据库mysql数据库文件怎么打开吗,mysql数据库导出导入数据库文件命令,mysql数据库导出数据库命令”边界阅读