MySQL Version 5.5.8
load data相关的数据导入导出
导出数据:
mysql> use DB_SPLIT_LOG
mysql> select * from t_log_info into outfile "/tmp/log_info.txt";
清空数据:
mysql> truncate table t_log_info;
导入数据:
法一:
mysql> load data infile "/tmp/log_info.txt" into table t_log_info;
Query OK, 4 rows affected (0.06 sec)
Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
法二:
先清空数据:
mysql> truncate table t_log_info;
root@192.168.12.160:tmp# mysqlimport -S /tmp/mysql3456.sock -pxxx DB_SPLIT_LOG t_log_info /tmp/log_info.txt
mysqlimport: Error: File '/opt/mysql558/DB_SPLIT_LOG/t_log_info' not found (Errcode: 2), when using table: t_log_info
如上错误信息,后来发现是语法错误了。mysqlimport 只需指明数据库DB_SPLIT_LOG ,无需跟表名t_log_info 。
root@192.168.12.160:tmp# mysqlimport -S /tmp/mysql3456.sock -pxxx DB_SPLIT_LOG /tmp/log_info.txt
mysqlimport: Error: Table 'DB_SPLIT_LOG.log_info' doesn't exist, when using table: log_info
结果又出现错误,分析可知,mysqlimport指明数据库之后,怎么知道数据是属于哪张表的呢?根据文件名!!遇上 第一个点' . '之前的文件名既是表名
root@192.168.12.160:tmp# mv /tmp/log_info.txt /tmp/t_log_info.txt
root@192.168.12.160:tmp# mysqlimport -S /tmp/mysql3456.sock -pxxx DB_SPLIT_LOG /tmp/t_log_info.txt
DB_SPLIT_LOG.t_log_info: Records: 4 Deleted: 0 Skipped: 0 Warnings: 0
导入成功!!
另,mysqlimport 本质还是调用mysql load data命令,若需证明可以开启binlog然后进行相应操作查看。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31385648/viewspace-2127466/
,如需转载,请注明出处,否则将追究法律责任。