mysq學習:通過命令將sql查詢的結果匯出到具體檔案

來源:互聯網
上載者:User
引言

最近在修改線上資料的時候,需要現將修改的資料繼續備份,但是線上客戶的伺服器是不能直接連接,而是通過了一台Bastion Host,這就說我們不能通過可視化用戶端直接連接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="/"

這樣設定以後我們就可以,實現我們一些自訂的的匯出了!

相關文章:

MySQL查詢結果匯出到檔案的另類方法

通過命令列,怎麼把sql檔案匯入mysql中

相關視頻:

SQL入門教程手冊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.