ITPub博客

首页 > 数据库 > MySQL > mysqlimport导入数据报错

mysqlimport导入数据报错

原创 MySQL 作者:Kind0f 时间:2016-11-01 21:29:32 0 删除 编辑
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/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: crontab未生效原因
请登录后发表评论 登录
全部评论

注册时间:2016-08-17

  • 博文量
    39
  • 访问量
    48068