我需要将数据从表导出到csv.我有以下结构(不是我的表,但出于演示目的)
CREATE TABLE `mytable` (
`id` int(11) DEFAULT NULL,
`mycolumn` varchar(25) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
Run Code Online (Sandbox Code Playgroud)
数据(约3000条记录).现在我想导出一些这些记录(从我通过cronjob运行的脚本)
SELECT * INTO OUTFILE '/tmp/mytable.sql'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM mytable;
Run Code Online (Sandbox Code Playgroud)
表明:
Query OK, 3 rows affected (0.00 sec)
Run Code Online (Sandbox Code Playgroud)
然后我做:
ls: cannot access /tmp/mytable.sql: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我的档案在哪里?
我需要在当前系统上备份MySQL数据库.我在使用mysqldumpshell脚本的cron作业中使用该命令.
这大致是我做的:
#!/bin/bash
fileName=$(date +%H-%M)
mysqldump -ubackup -hserver1.local.com -A database1 > /backup/$filename.sql
Run Code Online (Sandbox Code Playgroud)
这需要大约1个小时才能完成,所以我的问题是:
我需要压缩数据,所以我想知道我是否应该先将文件备份为纯sql然后压缩它,还是应该立即压缩mysqldump命令?