【小白福利—初級DBA入門必看】MySQL常用工具介紹(八)——客戶端工具MySQL_import

快到下班時間了,Amy又爲大家帶了MySQL常用系列工具之import的內容,大家可以利用在交通工具上的時間給自己的大腦充個電。

1 . 簡介

mysqlimport是load data語法的的命令行版本,其大多數選項對應load data語句的子句。
一般調用方式:shell> mysqlimport [options] db_name textfile1 [textfile2 …]
選項讀取[mysqlimport]和[client]組。
mysqlimport將文件的數據導入到去掉拓展名後的同名表。如patient.txt,patient.text,patient都將導入到patient表中。

2 . 選項介紹與部分選項舉例說明

#注意:這裏的默認值,不是使用“程序名 --no-defaults --help”打印的輸出,而是指未指定時內部初始值,該值可被自身選項顯示指定,也可能會受其他互斥選項、相關選項更改。這裏只寫出默認啓用的布爾型選項,以及有內部值的其他選項。有內部值的選項可以不顯示給出。
2.1 所有客戶端共有選項

2.1.1 影響選項文件讀取的選項
在這裏插入圖片描述
2.1.2 幫助與版本
在這裏插入圖片描述

2.1.3 連接的建立
在這裏插入圖片描述
在這裏插入圖片描述

連接方式參數說明:優先級–protocol>–pipe>-h;
linux兩種連接方式:若未指定–host和-h,或指定爲localhost,或指定爲空(–host=或–host=’’),則使用unix套接字;否則使用tcp/ip。
windows三種連接方式:若未指定–host和-h,或指定爲localhost,且服務端開啓了共享內存,則使用共享內存;若指定爲.,或tcp禁用且socket未指定或主機指定爲空(–host=),則使用命名管道;否則tcp。
連接方式舉例
全平臺使用tcp/ip:
mysql --protocol=tcp [-h127.0.0.1] [–port=3306]
mysql -h127.0.0.1 [–port=3306]

unix使用socket:
mysql [–host=localhost] [–socket=/tmp/mysql.sock]

windows使用命名管道:需在服務端開啓命名管道支持
mysql --protocol=pipe
mysql --pipe
mysql --host=.

windows使用共享內存:未知,存在問題。理論上應當在服務上開啓共享內存後使用
mysql [–host=localhost] --shared-memory-base-name=MYSQL,但是實際上使用的tcp,或者
mysql --protocol=memory --shared-memory-base-name=MYSQL,但是會報錯ERROR 2046 (HY000): Can’t open shared memory; cannot send request event to server (5);

2.1.4 字符集
在這裏插入圖片描述
2.1.5 調試日誌
在這裏插入圖片描述
2.2 mysqlimport特定選項
在這裏插入圖片描述

3 常見用法舉例:省略連接選項

  1. 使用忽略重複鍵策略,默認解讀格式,客戶端本地導入:
    mysqlimport --use-threads=1 --lock-tables=0 --delete=0 --force --ignore --ignore-lines=0 --local --columns=“id,id2” ztd ztd2.txt #相對路徑相對於運行目錄
    相當於執行:
    2019-05-07T01:59:58.300645Z 135 Query /*!40101 set @@character_set_database=binary */
    2019-05-07T01:59:58.300989Z 135 Query LOAD DATA LOCAL INFILE ‘ztd2.txt’ IGNORE INTO TABLE ztd2 IGNORE 0 LINES (id,id2)
  2. 使用替換重複鍵策略,默認解讀格式,服務端文件導入:
    mysqlimport --use-threads=1 --lock-tables=0 --delete=0 --force --replace --ignore-lines=0 --local=0 --columns=“id,id2” ztd ztd2.txt #相對路徑相對於數據庫目錄
    相當於執行:
    2019-05-07T01:53:57.042448Z 115 Query /*!40101 set @@character_set_database=binary */
    2019-05-07T01:53:57.042613Z 115 Query LOAD DATA INFILE ‘ztd2.txt’ REPLACE INTO TABLE ztd2 IGNORE 0 LINES (id,id2)

點擊查看更多MySQL常用工具介紹文章。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章