共計 954 個字符,預計需要花費 3 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關 mysq 如何通過命令將 sql 查詢的結果導出到具體文件的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
引言
最近在修改線上數據的時候,需要現將修改的數據繼續備份,但是線上客戶的服務器是不能直接連接,而是通過了一臺堡壘機,這就說我們不能通過可視化客戶端直接連接 mysql 的,所以所有的操作都是需要通過 sql 語句的,下面看一下導出的 sql:
mysql select count(1) from table into outfile /tmp/test.xls
直接在我們查詢的結果后面增加 into outfile 路徑即可,但是在開始的時候我后面添加的路徑不是 /tmp 而是 /data 這樣執行以后拋出下面的錯誤:
The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
這是因為 mysql 設置的權限,我們可以通過下面 sql 查看一下權限設置:
show variables like %secure%
導出的數據必須是這個值的指定路徑才可以導出,默認有可能是 NULL 就代表禁止導出,所以需要設置一下;
我們需要在 /etc/mysql/mysql.conf.d/mysqld.cnf 文件的末尾進行設置,在末尾添加一句 secure_file_priv= / 即可將數據導出到任意目錄;
secure_file_priv
1、限制 mysqld 不允許導入 | 導出
secure_file_prive=null
2、限制 mysqld 的導入 | 導出 只能發生在 /tmp/ 目錄下
secure_file_priv=/tmp/
3、不對 mysqld 的導入 | 導出做限制
secure_file_priv
4、可以導出至任意目錄
secure_file_priv= /
這樣設置以后我們就可以,實現我們一些自定義的的導出了!
感謝各位的閱讀!關于“mysq 如何通過命令將 sql 查詢的結果導出到具體文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節