您的位置:首页 > 数据库 > MySQL

【小白福利—初级DBA入门必看】MySQL常用工具介绍(八)——客户端工具MySQL_import

2019-06-26 17:48 801 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_44994688/article/details/93756336

快到下班时间了,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常用工具介绍文章。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: