mysqlimport常用参数:
--user=user_name, -u 连接到Mysql服务器的用户名
--password[=password], -p 密码
--host=hostname, -h 连接的MySQL服务器所在的主机
--port=port_num, -P 连接的TCP/IP端口号
--socket=path, -S 对于到主机的连接,Unix所使用的socket文件,Windows所使用的命名管道
--default-character-set=charset_name 默认字符集
--delete, -D 在导入文本文件前,先清空表,这个选项需谨慎
--force, -f 忽略错误。举例来说,如果文本文件中导入的部分内容和要导入的表不匹配,则导入操作会继续进行其他匹配部分的导入,不会终止;如果没有这个参数,则mysqlimport会退出导入
--ignore, -i 如果导入的过程中有重复值,则重复值会被跳过
--replace, -r 如果导入的过程中有重复值,则重复值会被覆盖
--local, -L 在客户端本地读取输入文件
--lock-tables, -l 在导入文本文件前,锁定所有要写入的表
--silent, -s 静默模式。只有发生错误,才会输出结果
--ignore-lines=N 跳过文本文件中的前N行记录
--use-threads=N 导入文本文件的时候,使用几个并行线程
--fields-terminated-by 导入的文本文件中的分隔符
--fields-enclosed-by 指定用于包含列值的符号,对于字符列,或者是字符中间包含列分隔符的场景比较有用
--导入示例
--查看导入文本文件中的内容,文本文件的名称与要导入的表名一致
[root@localhost fire]# cat /tmp/t_test.txt
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON
50,MAINTENANCE,HULUDAO
--导入文本文件
[root@localhost fire]# /software/bin/mysqlimport -usystem -p"Mysql#2015" -S /data/mysql.sock fire --default-character-set=gbk --fields-terminated-by=',' /tmp/t_test.txt
fire.t_test: Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
--创建表
mysql> CREATE TABLE `t_test` (
-> `deptno` int(11) NOT NULL DEFAULT '0',
-> `dname` varchar(15) NOT NULL,
-> `loc` varchar(15) NOT NULL
-> ) ENGINE=innodb DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.18 sec)
--查看导入的内容
mysql> select * from t_test;
+--------+-------------+-----------+
| deptno | dname | loc |
+--------+-------------+-----------+
| 10 | ACCOUNTING | NEW YORK
| 20 | RESEARCH | DALLAS
| 30 | SALES | CHICAGO
| 40 | OPERATIONS | BOSTON
| 50 | MAINTENANCE | HULUDAO
+--------+-------------+-----------+
5 rows in set (0.00 sec)