MySQL Load Data Local

Michael Caufield mcaufield at hoosierstamping.com
Fri Aug 4 11:17:09 EDT 2006


> I too ran into this problem with MySQL 5 and was unable to solve it. I
> don't think it's anything to do with Revolution, it's MySQL's fault. I
> turned on the local-infile option but this made no difference.
> Actually, I probably should have stopped & re-started the SQL server
> after changing it, but in the end, I just made a loop to read the data
> in and INSERT it line by line. In my case, this was a one-off data
> import so I didn't care that it took a bit more time.
>
> Cheers,
> Sarah

Sarah,
I believe the problem is on the client side not the server side. If  
the problem doesn't lie with Revolution, then why did Load Data Local  
work with all rev versions through 2.7.2-dp-1 using the 5.0.21  
version of MySQL server? It appears that with the the 2.7.2-gm-1  
release, the dbmysql.bundle driver has been compiled with --local- 
infile=0. I am using this procedure via a Revolution script to import  
data into MySQL from a text export created by a HyperCard/Oracle  
system that we are replacing with Revolution/MySQL. The export/import  
is run overnight so we have current data to test the new system. The  
import alone takes over 2 hours using Load Data Local. The only  
workaround I have found is to use:

get shell("mysqlimport --local-infile=1 --lines-terminated-by='\r'  
dbname" && quote & loadfile & quote)

instead of:

revExecuteSQL gConnID,"load data local infile '" & loadfile & "' into  
table " & tablename & " lines terminated by '\r'"

I haven't tested the line by line INSERT method, but would expect it  
to be substantially slower than Load Data.

Thanks for your reply,
Michael



More information about the use-livecode mailing list