Mycat load data infile总是失败,不知道什么原因,求大神解答

mycat采用load data infile方法数据迁移,过程中报错,日志如下:
2017-12-01 11:48:39.919 WARN $_NIOREACTOR-2-RW) - caught err:
java.lang.NullPointerException
at io.mycat.net.AbstractConnection.checkWriteBuffer(AbstractConnection.java:456) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.mysql.BinaryPacket.write(BinaryPacket.java:68) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.LoadDataUtil.writeToBackConnection(LoadDataUtil.java:94) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.LoadDataUtil.requestFileDataResponse(LoadDataUtil.java:50) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler.requestDataResponse(MultiNodeQueryHandler.java:734) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleRequestPacket(MySQLConnectionHandler.java:179) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleData(MySQLConnectionHandler.java:101) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.handler.BackendAsyncHandler.offerData(BackendAsyncHandler.java:36) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handle(MySQLConnectionHandler.java:80) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.handle(AbstractConnection.java:263) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.onReadData(AbstractConnection.java:321) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.NIOSocketWR.asynRead(NIOSocketWR.java:190) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.asynRead(AbstractConnection.java:273) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.NIOReactor$RW.run(NIOReactor.java:102) ~[Mycat-server-1.6-RELEASE.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80]
2017-12-01 11:48:39.948 INFO $_NIOREACTOR-2-RW) - close connection,reason:program err:java.lang.NullPointerException ,MySQLConnection [id=6, lastTime=1512100119275, user=root, schema=log_db_2017-11, old shema=log_db_2017-11, borrowed=true, fromSlaveDB=false, threadId=58, charset=gbk, txIsolation=3, autocommit=true, attachment=dn8{LOAD DATA LOCAL INFILE 'C:\Users\User\Desktop\log_file_manage_4-9.txt' INTO TABLE log_file_manage CHARACTER SET 'utf8' COLUMNS ESCAPED BY '%' (uuid, client_number, customer_id, decode_flag, analysis_flag, file_name, file_path, upload_time, sys_number, sys_name, sys_path, sys_version, result, operate_time, line_begin, line_end, vdi_info)}, respHandler=io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler@4c156b4b, host=localhost, port=3306, statusSync=io.mycat.backend.mysql.nio.MySQLConnection$StatusSync@12372ff3, writeQueue=0, modifiedSQLExecuted=true]
2017-12-01 11:48:40.254 WARN $_NIOREACTOR-2-RW) - caught err:
java.lang.NullPointerException
at io.mycat.net.AbstractConnection.writeToBuffer(AbstractConnection.java:475) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.write(AbstractConnection.java:417) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.LoadDataUtil.requestFileDataResponse(LoadDataUtil.java:62) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.handler.MultiNodeQueryHandler.requestDataResponse(MultiNodeQueryHandler.java:734) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleRequestPacket(MySQLConnectionHandler.java:179) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handleData(MySQLConnectionHandler.java:101) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.handler.BackendAsyncHandler.offerData(BackendAsyncHandler.java:36) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.backend.mysql.nio.MySQLConnectionHandler.handle(MySQLConnectionHandler.java:80) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.handle(AbstractConnection.java:263) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.onReadData(AbstractConnection.java:321) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.NIOSocketWR.asynRead(NIOSocketWR.java:190) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.AbstractConnection.asynRead(AbstractConnection.java:273) ~[Mycat-server-1.6-RELEASE.jar:?]
at io.mycat.net.NIOReactor$RW.run(NIOReactor.java:102) ~[Mycat-server-1.6-RELEASE.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.7.0_80]

哪位大神能帮忙看看,不尽感谢。
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
load data infile 问题
select * into outfile 'u.txt' fields terminated by ',' enclosed by '[]' from t3;rnrnrnload data infile 'u.txt' fields terminated by ',' enclosed by '[]' into t3; //语法错误。rnrn哪里出错,望指教!
load data infile的局限性
txt文本有2万行,每行4列数据,用tab分隔符分开。rnmysql一张表里有一个自动增长的id字段和另外7个字段,我想把txt里的4列数据导入表中指定的字段,该怎么半呢?
mysql load data infile
请问一下这个是干什么用的呢?rnload data infile
load data infile
load data local infile '/user.txt' into table user;rn提示: rnQuery OK,4 rows affected,20 warnings <0.02 sec> rnRecords:4 Deleted: 0 Skipped: 0 Warnings: 19 rn我查看插入后的数据都为 NULL
load data infile 的文件路径问题
[code=PHP]rnmysql> load data infile '/a.txt' into table a;rnERROR 29 (HY000): File '\a.txt' not found (Errcode: 2)rnmysql> load data infile '//a.txt' into table a;rnERROR 29 (HY000): File '\\a.txt' not found (Errcode: 22)rnmysql> load data infile '\a.txt' into table a;rnQuery OK, 2 rows affected (0.02 sec)rnRecords: 2 Deleted: 0 Skipped: 0 Warnings: 0rn[/code]rnrn如上面,为什么我前面用"\"这个成功,其他都是找不到文件呢?还有这个相对路径是指当前数据库(我的a.txt当前绝对路径为:D:\Program Files\phpStudy\MySQL\data\school\a.txt)目录下么?还是"d:/www/"(放网站文件)这个呢?
LOAD DATA INFILE 的问题
在导入数据的时候,第一条总出现以下这样的警告,当然也是可以正常插入,只是不喜欢有警告,请问怎么解决?rnrn[color=#FF0000]Warning | 1366 | Incorrect integer value: '?1' for column 'id' at row 1[/color]rnrnrn表很简单:rnID,NAMErn1,hirn2,hellorn3,wellrnrn自增ID和NAME字段rnrnrn网上有说使用NULL,测试过,每条记录都是警告,虽然也可以正常插入,所以我自己设置自增,但为什么出现那个错误?
load data infile 导入数据总是失败。有人知道为什么吗?
LOAD DATA INFILE 'c:/db.txt' rn//表名和字段名(我要导入的字段)rnINTO TABLE tableName(filed1,filed2,filed3) rn//每个字段分隔符rnFIELDS TERMINATED BY '|'rn//每个行分隔rnLINES TERMINATED BY '\n'rnrn错误提示如下rnrn1064rnyou have an error in your sql syntax;rncheck the manual that corresponds to your mysqlrnserver version for the right syntax to use near rn'fields terminated by '1' lines terminated by "\n"rnat line 3
linux下执行load data infile
我在linux下执行load data infile时,文件必须放在/etc/selinux下时才能执行成功,放在/home/...文件夹下时就报ERROR 13 (HY000): Can't get stat of ...错.rn请问有人把文件放/home/...('...'指0或多个文件夹)文件夹下时,执行成功过吗,放/home/...路径下时怎么做才能执行成功呢?
mysql LOAD DATA LOCAL INFILE
目前在自学mysql5.5用户手册rn遇上一个问题rn基础差,无解rn问题如下:rn建立一个表:rnmysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),rn-> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);rnrn要在pet表中查入记录;rn用load data local infile命令rn文本内容如下:rnname owner species sex birth deathrnFluffy Harold cat f 1993-02-04rnClaws Gwen cat m 1994-03-17rnBuffy Harold dog f 1989-05-13rnFang Benny dog m 1990-08-27rnBowser Diane dog m 1979-08-31 1995-07-29rnChirpy Gwen bird f 1998-09-11rnWhistler Gwen bird 1997-12-09rnSlim Benny snake m 1996-04-29rnrn假设该文本存放在d:\下rnrn用记事本如何编辑文字?rn在MYSQL命令行怎么写?rnrn谢谢赐教!!!
mysql load data infile 没法用
数据库执行错误:The used command is not allowed with this MySQL version,内容:rnLOAD DATA LOCAL INFILE './LoadInFile.sql' INTO TABLE `data_httpdown_2013-07-01`rnrnrn什么意思?客户端链接选项 rnmysql_options(&st_MySQL,MYSQL_OPT_LOCAL_INFILE,0)rnrnrn搜索看到是服务器没开,但是所有人都千篇一律说是重新编译。但是那是不可能的。服务器版本是5.1.29rn除了重新编译 还有其他解决方法没的!
load data infile语句问题
导入数据语句如下:rnload data infile 'd:/userDesc.txt' into table test.user(uname,num,deptNum) terminated by ',' enclosed by '\'' lines terminated by '\r\n';rn报错如下:rnERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatrncorresponds to your MySQL server version for the right syntax to use near 'termirnnated by ',' enclosed by '\'' lines terminated by '\r\n'' at line 1rnrnload data infile 'd:/userDesc.txt' into table test.user(uname,num,deptNum) terminated by ',' enclosed by '"' lines terminated by '\r\n';rn报错同上,大虾赐教
关于LOAD DATA LOCAL INFILE
有这样一个文件users.txtrn[code=HTML]rnuser001中文 e10adc3949ba59abbe56e057f20f883e NULLrnuser002 e10adc3949ba59abbe56e057f20f883e NULLrnuser003 e10adc3949ba59abbe56e057f20f883e NULLrnuser004 e10adc3949ba59abbe56e057f20f883e NULLrnuser005 e10adc3949ba59abbe56e057f20f883e NULLrnuser006 e10adc3949ba59abbe56e057f20f883e NULLrnuser007 e10adc3949ba59abbe56e057f20f883e NULLrnuser008 e10adc3949ba59abbe56e057f20f883e NULLrnuser009 e10adc3949ba59abbe56e057f20f883e NULLrnuser010 e10adc3949ba59abbe56e057f20f883e NULLrnuser008 e10adc3949ba59abbe56e057f20f883e NULLrnuser009 e10adc3949ba59abbe56e057f20f883e NULLrnuser010 e10adc3949ba59abbe56e057f20f883e NULLrn[/code]rn用下面的语句导入到users表中,rn[code=SQL]rnLOAD DATA LOCAL INFILE "D:/users.txt"rn INTO TABLE users rn FIELDS TERMINATED BY "\t" ENCLOSED BY "" rn LINES TERMINATED BY "\n" STARTING BY "" (username, password, avatar)rn[/code]rnrn但是有个问题,被导入的数据,其中NULL值,被做为字符串"NULL"导了进去,rn有没有办法把NULL这一列做为mysql的NULL,而不是字符串null导入?
LOAD DATA INFILE 语句错误
执行语句导入数据:rnLOAD DATA INFILE 'e:\\load.txt'rnINTO TABLE ms.tb_employee_info(id,name)rnLINES TERMINATED BY '\n'rnIGNORE 1 LINES;rnrn错误信息:rnYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LINES TERMINATED BY '\n'rnIGNORE 1 LINES' at line 3rnrn去掉最后两行能正常运行,实在是看不出哪里有问题了……
load data infile的反操作
oracle有load data infile的反操作么?rn就象mysql的select .. into outfile一样
LOAD DATA INFILE字符编码的问题
[quote]load data infile 'C:\Users\Denny\Desktop\TestPage\xx.csv' into table taobao_shop CHARACTER SET utf8 FIELDS TERMINATED BY ';...
关于load data local infile?
请问这个语句可以将client端的文件上传到服务器吗?书上写可以,可我试了,不行,有谁用这个语句做过吗?
load data infile的原理是什么?
都说要比insert快, 它的工作原理是什么呢?
load data infile 导入的txt数据第一行总是出现警告
测试的例子很简单rn3个字段rnc1 int类型 主键rnc2 varcharrnc3 varcharrn用utf8格式rnrn然后新建一个txt文件rn输入对应的两行记录,之间用tab分隔rn之后也另存为utf8格式rnrn用 load data infile载入,总是会出现警告,rn比如第一列是1,2,3,4,5rn那么第一个1,总是会变成0rnrn但是如果把第一列的数据类型换成字符就不会出现问题rnrn百度后发现有类似的问题,但是没有满意的答案rn不知道csdn的大神能否解释下rnrnrnrn
LOAD DATA INFILE 有时候会失败。 LINUX MYSQL C
LPCTSTR lpszHttpdown = _T("./NetCenter_Cache/FileCahce_HttpDown.Dat");我使用的相对路径的文件rnrnrn有的时候插入成功,有的时候会提示我rnCan't get stat of '/usr/local/mysql/var/NetCenter_Cache/FileCahce_HttpDown.Dat' (Errcode: 2),内容:rnLOAD DATA INFILE './NetCenter_Cache/FileCahce_HttpDown.Dat' INTO TABLE `data_httpdown_2013-07-24` (`probe_id`,`src_mac`,`dst_mac`,`src_ip`,`dst_ip`,`src_name`,`dst_name`,`dst_equip_type`,`dst_app_id`,`ip_version`,`ip_tunnel`,`src_port`,`dst_port`,`proto_type`,`proto_sub_type`,`operation`,`log_type`,`log_level`,`opstatus`,`rule_id`,`group_id`,`rulekeyword`,`domain`,`url`,`summary`,`content`,`file_name`,`log_time`,`str_time`)rnrn我是用的ROOT权限运行的这个程序,这几个文件都是通过我的程序来创建的,怎么解决呢?
急!!!在线求解! MYSQL load data infile 失败!!!多谢!
应用MYSQL load data infile 工具,如何导入16进制数据呢? rnrninsert into source_db_new values(1,0x06); 可以将16进制数据“0x06”成功插入数据库。但应用MYSQL工具load data infile 导入同样的数据失败!!rnrn语句指令:rnrnCREATE TABLE source_db_new (rnFrame_number bigint,rnSCCP_TYPE bigint rn);rnrnmysql> desc source_db_new;rn+--------------+------------+------+-----+---------+-------+rn| Field | Type | Null | Key | Default | Extra |rn+--------------+------------+------+-----+---------+-------+rn| Frame_number | bigint(20) | YES | | NULL | |rn| SCCP_TYPE | bigint(20) | YES | | NULL | |rn+--------------+------------+------+-----+---------+-------+rn2 rows in set (1.69 sec)rnrnrn源数据文件(ABC.TXT)内容:rn1;0x06rn2;0x5crn3;0x22rn4;0x31rnrnload data infile 'D:\\my_program\\C++\\MySQL_C\\abc.txt'rninto table source_db_new rnFIELDS TERMINATED BY ';'rnOPTIONALLY ENCLOSED BY ''rnLINES TERMINATED BY '\n'rn(rnFrame_number,rnSCCP_TYPErn);rnrn报错如下: rnERROR 1265 (01000): Data truncated for column 'SCCP_TYPE' at row 1
load data infile需要grant什么权限?
我运行load data infile ,虽具有insert权限,但还是说我不具备权限!
LOAD DATA INFILE 如何跳过空行?
我用JSP+MYSQL制做一个简单的小程序,需要把Solaris系统下的一些CSV文件导入至MYSQL,这些CSV有个特点:文件最后有一个空行(即文件末尾连着两个'\n'),用load data infile命令后发现会报错,原因是最后一行空行无法导入,不过前面的所有数据都已经正常导入.rnrn请问有什么办法能避免这个错误?我不想用try..catch来忽略这个错误.
IDirect3DDevice9::CreateQuery调用总是失败,不知道什么原因
创建IDirect3DDevice9是成功的,但是创建查询对象就失败了,大家帮忙看看啊。代码如下:rn IDirect3D9* m_pDirect3D9;rn IDirect3DDevice9* m_pDirectDevice9;rnrn m_pDirect3D9 = Direct3DCreate9(D3D_SDK_VERSION);rn if (m_pDirect3D9 != NULL)rn rn HWND hDeskTop = GetDesktopWindow();rn D3DPRESENT_PARAMETERS d3dpp; rn ZeroMemory( &d3dpp, sizeof(d3dpp) );rn d3dpp.Windowed = TRUE;rn d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;rn d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8;rn d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;rnrn HRESULT hr = IDirect3D9_CreateDevice(m_pDirect3D9, D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hDeskTop, D3DCREATE_HARDWARE_VERTEXPROCESSING, &d3dpp, &m_pDirectDevice9);rn if (m_pDirectDevice9 != NULL)rn rn IDirect3DQuery9* m_pQuery = NULL;rn BYTE* pBuff = NULL;rnrn HRESULT hr = IDirect3DDevice9_CreateQuery(m_pDirectDevice9, D3DQUERYTYPE_PIPELINETIMINGS, NULL);//该句返回失败,hr是-2005530518这样的数,并不是msdn中所描述的可能返回值rn if(SUCCEEDED(hr))rn rn if (m_pQuery != NULL)rn rn DWORD dwSize = IDirect3DQuery9_GetDataSize(m_pQuery);rn pBuff = new BYTE[dwSize];rn if(!FAILED(IDirect3DQuery9_GetData(m_pQuery, pBuff, dwSize, D3DQUERYTYPE_PIPELINETIMINGS)))rn rn D3DDEVINFO_D3D9PIPELINETIMINGS* pPipeParam = (D3DDEVINFO_D3D9PIPELINETIMINGS*)pBuff;rn float fPercent = pPipeParam->GPUIdleTimePercent;rn return TRUE;rn rn delete[] pBuff;rn rn rn
[MySQL] 导入数据load data infile用法整理
有时候我们需要将大量数据批量写入数据库,直接使用程序语言和Sql写入往往很耗时间,其中有一种方案就是使用MySql Load data infile导入文件的形式导入数据,这样可大大缩短数据导入时间。 LOAD DATA INFILE 语句以很高的速度从一个文本文件中读取行到一个表中。文件名必须是一个文字字符串。 1 命令load data local infile的设置 应当在/etc/...
mysql导入数据load data infile用法整理
#基本语法: load data [low_priority] [local] infile 'file_name txt' [replace | ignore] into table tbl_name [fields [terminated by't'] [OPTIONALLY] enclosed by ''] [escaped by'\' ]] [lines terminated by'n...
load data local infile 插不进去
rnrn 我 想 在mysql 中 用 这个 :load data local infile 'mytable.txt' into table mytable;rn 就是 执行这个'mytable.txt' 的意思 !rnrn mytable.txt 只有一行 : zhangsan m 2005-8-7 china rnrn 那么 我执行上边的 命令 插入的如下:rnrn mysql> load data local infile 'mytable.txt' into table mytable;rnQuery OK, 1 row affected, 4 warnings (0.03 sec)rnRecords: 1 Deleted: 0 Skipped: 0 Warnings: 4rnrnmysql> select *From mytable;rn+----------------------+------+------------+-----------+rn| name | sex | birth | birthaddr |rn+----------------------+------+------------+-----------+rn| hejinxi | f | 1987-08-24 | china |rn| lisi | f | 1988-02-06 | china |rn| lisi2 | f | 1988-03-06 | china |rn| lisi3 | f | 1988-04-06 | china |rn| zhangsan4 | f | 1911-08-24 | china |rn| zhangsan m 2005 | NULL | NULL | NULL |rn+----------------------+------+------------+-----------+rn6 rows in set (0.00 sec)rnrn 我的 name 字段是 varchar(20) 而插入的 正好是 20个字节。。rnrn 为什么 都 为null值 差不进去 !! rn 如果 我在 mytable.txt中写入insert into mytable values('zhang','f','1987-3-9','china') ;rn 那么 我在执行 load data ... 后插入为 ‘insert into mytable ’是 上边sql 的20 个字节 后边还是null 为什么 !!rn 如下: rn mysql> load data local infile 'mytable.txt' into table mytabrnQuery OK, 1 row affected, 4 warnings (0.03 sec)rnRecords: 1 Deleted: 0 Skipped: 0 Warnings: 4rnrnmysql> select *From mytable;rn+----------------------+------+------------+-----------+rn| name | sex | birth | birthaddr |rn+----------------------+------+------------+-----------+rn| hejinxi | f | 1987-08-24 | china |rn| lisi | f | 1988-02-06 | china |rn| lisi2 | f | 1988-03-06 | china |rn| lisi3 | f | 1988-04-06 | china |rn| zhangsan4 | f | 1911-08-24 | china |rn| zhangsan m 2005 | NULL | NULL | NULL |rn| insert into mytable | NULL | NULL | NULL |rn+----------------------+------+------------+-----------+rn7 rows in set (0.02 sec)rnrnrn 谢谢了 rn rnrn
load data infile 导数据到mysql注意事项
语法:load data infile “c:\xxx.csv” into table table_name; 1、ERROR 1290 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement;      解决办法: show variables l
load data local infile 导入路径问题
script.Query = " load data local infile '" + textBox1.Text + "' into table plu character set gbk FIELDS TERMINATED BY ';' ";rn上面同样的程序,选择文件的时候,我选F盘根目录下文件就可以,文件复制到E盘导入就不行,搞不懂。。。。
Mysql的load data infile 进行数据导入问题
我在Php+mysql编程中,遇到了要用Mysql的load data infile 进行数据导入,我导入的是(.txt)的文本文件,由于我做的是个网站,要上传到其他地方,必须用相对路径 ,但是load data infile好像只能用文件的绝对路径,我根据php中的相对路径的写法好像不行rn我的a.text文件在\MyTest\manage\admission_result\temp\a.txtrn处理页面joindeal.php在admission_result文件夹下rn我是这样写的LOAD DATA INFILE “temp\a.txt into” TABLE enrollment rn紧急求救 请指教 rn
mysql导入数据load data infile注意事项
注意注意: 1.在远程客户端使用load data infile的话,需要添加FILE权限。 2.如果是导入有中文的数据,我的mysql 设置的utf8 字符集,所以你要导入的xxx.txt 文件也要保存utf-8的字符集。 3.在远程客户端(需要添加选项:--local-infile=1)导入远程客户端文本到MySQL,需指定LOCAL(默认就是ignore),加ignore选项会放弃
请教关于load data infile的使用方法
[img=https://img-bbs.csdn.net/upload/201401/12/1389496610_728609.jpg][/img]
load data local infile 载入慢
[code=SQL]load data local infile 'e:/B/a_tb_call.txt' into table tb_callrnfields terminated by '\t' lines terminated by '\r\n'[/code]rnMySQL使用这条语句载入5.7G的数据,花费6个小时还没完成,发现载入过程中cpu使用率不高rn这是为什么呢?有什么办法让速度提上来!rn谢谢解答!
MySQL SELECT ... INTO OUTFILE和LOAD DATA INFILE用法
SELECT ... INTO OUTFILE用来把MySQL表中的数据读取到一个文件中,其语法如下:rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413370_347953.png][/img]rnrnrnLOAD DATA INFILE用来把一个文本文件里的内容高速写入到MySQL表里,它和SELECT ... INTO FILE的操作是对应的,一个导入、一个导出。使用LOAD DATA INFILE需要MySQL对要导入的文件有读权限,其语法如下:rnrnrnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413378_513221.png][/img]rnrnrnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413386_562736.png][/img]rnrnrnLOW_PRIORITY:当加上此选项时,执行LOAD DATA命令将会被延迟,直到没有没有任何其它客户端读取目标表。LOW_PRIORITY选项只适用于表级锁的存储引擎(MyISAM、MEMORY、MERGE等)。rnrnCONCURRENT:并行的意思,如果指定该选项,意味着在LOAD DATA过程中,别人也可以读取表里的信息。如果使用CONCURRENT选项,不管有没有人在LOAD DATA过程中读取目标表,都是对LOAD DATA的性能造成一定的影响。对于基于行级别的Replication,CONCURRENT选项在MySQL 5.5.1以前不可用。rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413395_389010.png][/img]rnrnrnLOCAL选项决定LOAD DATA文件的位置以及LOAD DATA过程中出错后的处理方式。rnrn如果参数--local-infile=0,那么LOCAL参数不可用。rnrn加上LOCAL选项后,在LOAD DATA的时候,客户端读取文件,并发送给服务端,该文件会临时存储在服务端的临时文件夹下(系统临时文件夹下,而非MySQL服务的临时文件夹,不是tmpdir、slave_load_tmpdir所指定的文件夹)。rnrn使用LOCAL选项,LOAD DATA的速度会稍微慢一点。rnrn如果不加LOCAL选项,当发生数据错误或者主键重复、唯一索引重复的时候,LOAD DATA将会中断,而加上LOCAL后,将不会中断,关于加上LOCAL后遇到上述错误的处理方式,看下面的IGNORE选项中的解释。rnrn rnrn关于文件的路径问题:rnrn1、如果指定了LOCAL选项,则被导入的文件可以在客户端、也可以在服务端,如果没有指定LOCAL,则被导入的文件必须在服务端;rnrn2、我们尽量使用绝对路径来标识被导入的文件。如果我们使用了相对路径:rnrna) 在指定LOCAL选项的情况下,相对路径指向客户端所在的目录;rnrnb) 在没有指定LOCAL的选项下,相对路径指向数据文件所在目录或MySQL服务默认库所在目录rnrn如果该相对路径是’./a.txt’,那么指向数据文件所在目录rnrn如果该相对路径是’a.txt’,那么指向MySQL服务默认库所在目录rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413405_499484.png][/img]rnrnrnREPLACE:在导入过程中遇到重复的行、与主键或唯一索引重复的行,将被替换掉rnrnIGNORE:在导入过程中遇到重复的行、与主键或唯一索引重复的行,会跳过并继续导入rnrn在没有指定REPLACE和IGNORE的情况下,当遇到上述情况时,处理方法取决于是否指定了LOCAL选项:rnrn如果没有指定LOCAL,则会中断导入操作;rnrn如果指定了LOCAL,遇到上述情况时按照IGNORE参数处理。rnrn如果想要忽略外键对LOAD DATA的影响,可以在导入前设置参数:SET foreign_key_checks = 0rnrn图片rnrnrnFIELDS用于定义文件的分割字段rnrnTERMINATED BY:定义字段分隔符rnrnENCLOSED BY:定义字段括起字符,比如:”WYZC”,则ENCLOSED BY ‘”’rnrn[OPTIONALLY]:有选择行的,如果加上此选项,则数字类型不加引号,其它类型的加引号rnrnESCAPED BY:定义转义字符rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413415_173958.png][/img]rnrnrnLINES定义每行的分割字段rnrnSTARTING BY:定义每行从哪个字段开始读取rnrnTERMINATED BY:定义每行的终止符rnrn rnrn如果没有指定FIELDS或者LINES,则默认是:rnrnFIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'rnrnLINES TERMINATED BY '\n' STARTING BY ''rnrn rnrnLOAD DATA INFILE和SELECT ... INTO OUTFILE的一些Tips:rnrn对于LOAD DATA INFILE和SELECT ... INTO OUTFILE,参数FIELDS和LINES必须一致,如果同时指定这2个参数,那么FIELDS必须在LINES之前。rnrn对于一个MyISAM空表,对于表里面的非唯一性索引,在导入的时候会分批次创建,这样会加快LOAD DATA的速度。rnrn有时候我们可以在导入前禁用一个表的索引,导入完成后再ENABLE该表的索引以加快LOAD DATA的速度。rnrn从MySQL 5.6.2开始,LOAD DATA支持分区表的导入。rnrnrn接下来用一些实验来验证我们上面的理论:rnrn1、SELECT ... INTO FILE,用实验结果演示下FIELDS项下面ENCLOSED BY加与不加OPTIONALLY选项的区别rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413426_187289.png][/img]rnrnrn看到了吧,没有加OPTIONALLY之前,会对每一个字段都加上双引号,加上OPTIONALLY选项后,有选择行的加,对于数字类型的,就没有加双引号。rnrn rnrn rnrn2、如果没有指定FIELDS或者LINES,则默认是:rnrnFIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'rnrnLINES TERMINATED BY '\n' STARTING BY ''rnrnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413435_979308.png][/img]rnrnrnrnrnrn数据正常导入进去了,从侧面证明了,如果没有指定FIELDS或者LINES,则默认是:rnrnFIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' STARTING BY ''rnrn其实对于上面的t12.txt里的内容,我们直接可以这样导入:load data infile '/tmp/t12.txt';rnrnrn3、我们可以使用LOAD DATA有选择性的往表的某些特定列里导入数据,也可以再导入的过程中对数据进行一些运算。 rnrnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413458_538908.png][/img]rnrnrnrn我们可以再LOAD DATA语句最后面加上列的信息,从而指定往哪些列里导入数据。rnrnrnrn接下来演示再导入数据的过程中通过变量来对导入的数据进行运算:rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413467_340722.png][/img]rnrnrnrn4、STARTING BY参数决定从每行的哪个字段开始导入数据:rnrn[img=https://img-bbs.csdn.net/upload/201606/20/1466413476_436495.png][/img]rnrnrn从实验结果中,我们看到,id为1、2、4的行全部导入t3表了,而id=3的行在t11.txt里面没有wyzc字段,因此没有导入到t3表中。 rn
关于load data local infile 的问题
在mysql中输入以下语句:rnload data local infile 'User.txt' into table User;rn提示如下:rnERROR 2 (HY000): File 'User.txt' not found (Errcode:2)rn但是路径没错呀,我确实是把User.txt文件放到mysql数据库文件下的data 文件夹下,rn请各位高手指点,本人初学这个
关于php+mysql中的load data infile 的问题
用load data 导入数据时 infile后的文件位置怎么写,我要上传到申请的空间上去,不能写绝对地址,到底格式是怎样,我试了很久都不行 ,有什么解决方法,请指教
关于LOAD DATA INFILE中的SET子句
刚接触MYSQL ,在看到LOAD DATA INFILE中碰到问题。rnrnTABLE tb_xfrnprimary key(sid)rn----------------------------------------------------rn| sid | jyje | jyzh | ppfy |rn| 1 | 160.00 | 62252*******0134 | 11.00 | rn| 2 | 70.00 | 40339*******1409 | 2.00 | rn| 3 | 60.00 | 40339*******0168 | 23.00 | rnrn服务器上每天定时导入一个文件,实现如果sid无重复则插入,若有sid重复则更新 jyje,jyzh,但ppfy保持原来的值不变。rnrn在MYSQL参考手册上看到支持在LOAD DATA INFILE过程中使用变量或set子句[i](原文:您可以在SET赋值的右侧使用子查询。如果子查询可以返回一个值,并且此值将被赋予到一个列中,则此子查询只能是标量子查询。另外,您不能使用子查询从一个正在被载入的表中选择。)[/i]rnrnLOAD DATA INFILE 'data/file.txt' replace INTO TABLE tb_xf rnFIELDS TERMINATED BY ',' rnLINES TERMINATED BY '\r\n' rn(sid,jyje,jyzh) set ppfy= ;rnrn请教大神指导。谢谢
windows 下mysql load data infile 的路径问题
正在用C# + Mysql load data infile 导入一个文件到表中rnrn在navicat 下用sql测试一切正常rnD:\\MaticSoft3LMySQL\\App_Data\\NeatUpload_Temp\\635634982928066768.csvrnrn放到程序里面却报错,错误如下rnD:\MySQL\data\MaticSoft3LMySQLApp_DataNeatUpload_Temp635635688814071138.csv' not found (Errcode: 2 - No such file or directory)rn竟然去找Mysql/data了,好奇怪rnrn试过很多rnD://MaticSoft3LMySQL//App_Data//NeatUpload_Temp//635634982928066768.csvrnD:/MaticSoft3LMySQL/App_Data/NeatUpload_Temp/635634982928066768.csvrnD:/MaticSoft3LMySQL/App_Data/NeatUpload_Temp/635634982928066768.csvrnrn都不行,rnrn求解。rn
Mysql load data infile 变量使用问题?
源文件字段:rndata1, data2, data3, data4, data5...rnrn数据库 表字段:rncol1, col2, col3, col 4, col5, col6...rnrn源文件字段数量和表字段数量不一致。rnrn问题1:在使用 load data infile时, 如果col3的值,需要data1 + data2才行,语句应该如何写?我使用如下写法,rnLOAD DATA LOCAL INFILE 'D:\\test.dat'rnINTO TABLE tb_order_infornLINES TERMINATED BY '\n'rn(@val1, @val2, col3)rnSET col3 = @val1 + @val2;rnrncol3最终得到的值是@val1的,也就是源文件data1的值。rnrn
关于LOAD DATA LOCAL INFILE效率
使用mysql的LOAD DATA LOCAL INFILE导入一个有5万多条记录的文件,rn花了5分钟,请问有什么办法能提高一下效率?
LOAD DATA INFILE 的问题,出现空白字段?
怎么一点都不好用呢? 数据很容易错乱,比如插入空行,或者行的一些字段为空rn我的数据每5秒回写一次数据库。数据是事实数据,我每次都打印了回写的数据,打印问题的数据没有任何。rnrn不光数据出现空白,而且还有数据丢失的情况存在。关键是没有任何报错。都是执行成功的rnrn[code=c]rnrnrn我的字段分隔符是这个样子的rn_stprintf_s(tszSQLStatement,_T("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%d\t%lld\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n"),pSt_XMLRoot->tszDeviceId,pSt_XMLRoot->tszSourceMac,pSt_XMLRoot->tszDestMac,pSt_XMLRoot->tszSourceAddr,pSt_XMLRoot->tszDestAddr,st_SourceAddr.tszDeviceName,st_DestAddr.tszDeviceName,nPid,dwAppId,pSt_XMLRoot->tszIPVersion,pSt_XMLRoot->tszIPTunnel,pSt_XMLRoot->nSourcePort,pSt_XMLRoot->nDestPort,pSt_XMLRoot->nProType,pSt_XMLRoot->nProTypeSub,pSt_XMLRoot->nOperatorType,pSt_XMLRoot->nLogType,pSt_XMLRoot->nLogLeave,pSt_XMLRoot->bOPStatus,pSt_XMLRule->tszRuleId,pSt_XMLRule->tszGroupId,pSt_XMLRule->tszRuleKeyWord,pSt_XMLHTTPDown->tszDomain,pSt_XMLHTTPDown->tszUrl,pSt_XMLHTTPDown->tszSummary,pSt_XMLHTTPDown->tszContext,pSt_XMLHTTPDown->tszFileName,pSt_XMLRoot->tszTimer,tszStringTimer);rnrnrnLOAD DATA INFILE 语句是:rnrnLOAD DATA LOCAL INFILE '%s' INTO TABLE `%s` %srnrn第一个是%s是文件地址 ,第二个是表名,第三个是表的字段 这写都是没问题的rn[/code]rnrn为什么会出现数据字段有NULL和空白行的情况?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件