Mysql 客户端查询结果如何保存到本地而不是服务端?
生活随笔
收集整理的這篇文章主要介紹了
Mysql 客户端查询结果如何保存到本地而不是服务端?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
應用場景:知道某臺DB服務器的IP和賬戶,登錄上去查詢了10W條記錄,需要把這些記錄拉到本地做分析
?
方法1,遠程連接到DB服務器執行OUTFILE命令,文件存儲在DB機器上,只有mysql賬戶的情況下,拿不到本地。文件位置【服務端】
mysql> select * from b into outfile '/tmp/1.sql'; Query OK, 1 row affected (0.00 sec)#保存結果,無表格式,無字段名稱信息 [root@168.21 ~]# cat /tmp/1.sql a [root@168.21 ~]#方法2,通過pager命令把輸出結果重定向到本地文件。文件位置【本地】
mysql> pager cat >/tmp/1.sql PAGER set to 'cat >/tmp/1.sql' mysql> select * from b; 1 row in set (0.00 sec)#文件結果,保存結果,保留表格式,不保存SQL命令,有字段名稱信息 [root@168.23 tmp]$ cat 1.sql +------+ | b | +------+ | a | +------+ [root@168.23 tmp]$方法3,通過-e參數執行SQL命令,文件輸出在本地,有字段名稱信息,無表格式,無SQL命令。參數帶-Ne,結果文件不帶字段名稱,和outfile導出結果相同。文件位置【本地】
[root@168.23 tmp]# /usr/local/bin/mysql -uroot -p -h192.168.1.100 test -e "select * from b" > /tmp/2.sql Enter password: [root@168.23 tmp]# cat 2.sql b a [root@168.23 tmp]#方法4,通過tee,把MYSQL的結果保存到外部文件中,保存命令和結果,保留表格式。文件位置【本地】
mysql> tee /tmp/3.sql Logging to file '/tmp/3.sql' mysql> select * from b; +------+ | b | +------+ | a | +------+ 1 row in set (0.00 sec)mysql> exit Bye [root@168.23 tmp]# cat 3.sql mysql> select * from b; +------+ | b | +------+ | a | +------+ 1 row in set (0.00 sec)mysql> exit [root@168.23 tmp]#通過-e參數執行SQL命令帶-N參數,可以達到outfile一樣的目的,并把文件保存在本地。
轉載于:https://www.cnblogs.com/zuoxingyu/p/6226160.html
總結
以上是生活随笔為你收集整理的Mysql 客户端查询结果如何保存到本地而不是服务端?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue - 在v-repeat中使用计算
- 下一篇: OpenStack三种类型的NAT转换