日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL数据导入导出(一)

發(fā)布時(shí)間:2023/12/10 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL数据导入导出(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天遇到一個(gè)需求,要用自動(dòng)任務(wù)將一張表的數(shù)據(jù)導(dǎo)入另一張表。具體場(chǎng)景及限制:將數(shù)據(jù)庫A表A的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫B表B中(增量數(shù)據(jù)或全量數(shù)據(jù)兩種方式)體系1體系2只能分別訪問數(shù)據(jù)庫A數(shù)據(jù)庫B。附圖:

實(shí)現(xiàn)方式:體系1將表A的數(shù)據(jù)導(dǎo)出成文件,存入MongoDB,成功后通知體系2,體系2進(jìn)行數(shù)據(jù)導(dǎo)入。

重點(diǎn)來啦:在數(shù)據(jù)導(dǎo)出和數(shù)據(jù)導(dǎo)入的時(shí)候,有幾下幾種方式,此處具體介紹方法三

方法一:mysqldump,但是mysqldump是在操作系統(tǒng)命令行下運(yùn)行的,并不滿足這種場(chǎng)景

方法二:通過sql進(jìn)行查詢,再通過io寫成文件。此方式不做評(píng)價(jià)...ps:各種工具的導(dǎo)入導(dǎo)出就算了,有興趣的自行了解

方法三:導(dǎo)出==》SELECT語句 INTO OUTFILE 路徑+目標(biāo)文件 [option]
    導(dǎo)入==》LOAD DATA LOCAL INFILE 路徑+目標(biāo)文件 INTO TABLE 表名 [option]

    其中option參數(shù)常用的5個(gè)選項(xiàng):
    FIELDS TERMINATED BY '字符串':設(shè)置字符串為字段的分割符,默認(rèn)值為 \t;
    FIELDS ENCLOSED BY '字符':設(shè)置字符串括上字段的值,默認(rèn)值為 無任何符號(hào);
    FIELDS OPTIONALLY ENCLOSED BY '字符':設(shè)置字符串括上char varchar text等字符型字段,默認(rèn)值為 無任何符號(hào);
    LINES STARTING BY '字符串':設(shè)置每一行開頭的字符,默認(rèn)值為 無任何字符;
    FIELDS ESCAPED BY '字符':設(shè)置轉(zhuǎn)義字符,默認(rèn)值為 \;
    LINES TERMINATED BY '字符串':設(shè)置每行結(jié)束符,默認(rèn)值為 \n;

注意:1.導(dǎo)入的時(shí)候數(shù)據(jù)文件要和導(dǎo)入的表的結(jié)構(gòu)相對(duì)應(yīng)(字段長度、類型、列等等)

   2.導(dǎo)出的文件不是sql,不包含表結(jié)構(gòu),只是純數(shù)據(jù)文件,且每一條數(shù)據(jù)占一行

   3.路徑問題:有時(shí)候隨便選擇一個(gè)路徑并不能導(dǎo)出數(shù)據(jù)文件,會(huì)報(bào)錯(cuò)
    如:The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
解決方式:
  a)先通過SHOW VARIABLES LIKE '%secure%' 查詢出默認(rèn)的路徑,使用默認(rèn)路徑進(jìn)行導(dǎo)出,執(zhí)行結(jié)果如下圖

  b)修改 mysql 的 my.ini 配置文件中secure_file_priv來進(jìn)行管理,
    i.不允許MySQL進(jìn)行導(dǎo)入導(dǎo)出
      # Secure File Priv.
      secure-file-priv = null
    ii.只允許MySQL在指定的目錄下進(jìn)行導(dǎo)入導(dǎo)出操作
      # Secure File Priv.
      secure-file-priv = /目錄/
    iii.不對(duì)MySQL的導(dǎo)入導(dǎo)出進(jìn)行限制(注釋或刪除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 '|'      ?  ? ? ?

轉(zhuǎn)載于:https://www.cnblogs.com/TianSuoMuLong/p/9084912.html

總結(jié)

以上是生活随笔為你收集整理的MySQL数据导入导出(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。