php – mysql导出后找不到文件
发布时间:2020-12-13 13:27:15 所属栏目:PHP教程 来源:网络整理
导读:我需要将数据从表导出到csv.我有以下结构(不是我的表,但出于演示目的) CREATE TABLE `mytable` ( `id` int(11) DEFAULT NULL,`mycolumn` varchar(25) DEFAULT NULL) ENGINE=MyISAM DEFAULT CHARSET=latin1 数据(约3000条记录).现在我想导出一些这些记录(从我
我需要将数据从表导出到csv.我有以下结构(不是我的表,但出于演示目的)
CREATE TABLE `mytable` ( `id` int(11) DEFAULT NULL,`mycolumn` varchar(25) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 数据(约3000条记录).现在我想导出一些这些记录(从我通过cronjob运行的脚本) SELECT * INTO OUTFILE '/tmp/mytable.sql' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY 'n' FROM mytable; 表明: Query OK,3 rows affected (0.00 sec) 然后我做: ls: cannot access /tmp/mytable.sql: No such file or directory 我的档案在哪里?
使用INTO OUTFILE命令时,它会将数据导出到服务器的本地文件夹,而不是您正在执行查询的文件夹.
示例:您在计算机上(ip:192.168.0.100)并使用mysql命令连接到mysqlserver(ip:192.168.0.101):mysql -uuser -h192.168.0.101 -A database.通过执行SELECT * INTO OUTFILE,文件保存在mysqlserver(ip:192.168.0.101)而不是计算机上(ip:192.168.0.100). 现在,您可以使用创建CSV文件的脚本(在您的cronjob中 – 您选择所有数据,生成文件并通过scp发送到其他服务器). 或者 – 您也可以在/ shared /上安装NFS,当您自动创建文件时,其他服务器也会使用它. 或者 – 您可以在第一台服务器上的bash脚本中运行mysql命令. mysql -uroot test -B -e "select * from test.mytable;" | sed 's/t/","/g;s/^/"/;s/$/"/;s/n//g' > /tmp/filename.csv 来源:http://tlug.dnho.net/node/209 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |