Skip to main content

file not found after mysql export


i need to export data from a table to a csv. i have the following structure (not really my table but for demo purposes)




CREATE TABLE `mytable` (
`id` int(11) DEFAULT NULL,
`mycolumn` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1



with data (about 3000 records). now i want to export some of these records (from a script i run via cronjob)




SELECT * INTO OUTFILE '/tmp/mytable.sql'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM mytable;



it shows:




Query OK, 3 rows affected (0.00 sec)



then i do:




ls: cannot access /tmp/mytable.sql: No such file or directory



where is my file?


Source: Tips4all

Comments

  1. When you use the INTO OUTFILE command, it export the data to the local folder of the server not the one you are executing the query.

    Example: you are on your computer (ip: 192.168.0.100) and you connect to the mysqlserver (ip: 192.168.0.101) using the mysql command: mysql -uuser -h192.168.0.101 -A database. By executing the SELECT * INTO OUTFILE the file is saved on the mysqlserver (ip: 192.168.0.101) and NOT on your computer (ip: 192.168.0.100).

    Now, you can use a script that creates a CSV file (in your cronjob - you select all the data, generate the file and send via scp to the other server).

    Or - You can also have a NFS mounted on /shared/ and when you create the file automatically the other server has it.

    Or - you can simply run a mysql command in a bash script like this from your first server.

    mysql -uroot test -B -e "select * from test.mytable;" | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > /tmp/filename.csv


    source: http://tlug.dnho.net/node/209

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?