MySql資料匯入匯出(一)

來源:互聯網
上載者:User

標籤:情境   god   like   字元   min   ack   div   不能   常用   

今天遇到一個需求,要用自動任務將一張表的資料匯入另一張表。具體情境及限制:將資料庫A中表A的資料匯入到資料庫B的表B中(增量資料或全量資料兩種方式);體系1和體系2只能分別訪問資料庫A和資料庫B。附圖:

實現方式:體系1將表A的資料匯出成檔案,存入MongoDB,成功後通知體系2,體系2進行資料匯入。

重點來啦:在資料匯出和資料匯入的時候,有幾下幾種方式,此處具體介紹方法三

方法一:mysqldump,但是mysqldump是在作業系統命令列下啟動並執行,並不滿足這種情境。

方法二:通過sql進行查詢,再通過io寫成檔案。此方式不做評價...ps:各種工具的匯入匯出就算了,有興趣的自行瞭解

方法三:匯出==》SELECT語句 INTO OUTFILE 路徑+目標檔案 [option]
    匯入==》LOAD DATA LOCAL INFILE 路徑+目標檔案 INTO TABLE 表名 [option]

    其中option參數常用的5個選項:
    FIELDS TERMINATED BY ‘字串‘:設定字串為欄位的分割符,預設值為 \t;
    FIELDS ENCLOSED BY ‘字元‘:設定字串括上欄位的值,預設值為 無任何符號;
    FIELDS OPTIONALLY ENCLOSED BY ‘字元‘:設定字串括上char varchar text等字元型欄位,預設值為 無任何符號;
    LINES STARTING BY ‘字串‘:設定每一行開頭的字元,預設值為 無任何字元;
    FIELDS ESCAPED BY ‘字元‘:設定逸出字元,預設值為 \;
    LINES TERMINATED BY ‘字串‘:設定每行結束符,預設值為 \n;

注意:1.匯入的時候資料檔案要和匯入的表的結構相對應(欄位長度、類型、列等等)

   2.匯出的檔案不是sql,不包含表結構,只是純資料檔案,且每一條資料佔一行

   3.路徑問題:有時候隨便選擇一個路徑並不能匯出資料檔案,會報錯
    如:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
解決方式:
  a)先通過SHOW VARIABLES LIKE ‘%secure%‘ 查詢出預設的路徑,使用預設路徑進行匯出,執行結果如

  b)修改 mysql 的 my.ini 設定檔中secure_file_priv來進行管理,
    i.不允許MySQL進行匯入匯出
      # Secure File Priv.
      secure-file-priv = null
    ii.只允許MySQL在指定的目錄下進行匯入匯出操作
      # Secure File Priv.
      secure-file-priv = /目錄/
    iii.不對MySQL的匯入匯出進行限制(注釋或刪除secure-file-priv配置)
      # Secure File Priv.
      #secure-file-priv="C:/ProgramData/MySQL/MySQL Server 5.7/Uploads"

 最後附上eg:

SELECT * FROM pub_parameter INTO OUTFILE ‘C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test8.sql‘ 
SELECT * FROM pub_parameter INTO OUTFILE ‘C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\test5.sql‘ FIELDS TERMINATED BY ‘|‘              

MySql資料匯入匯出(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.