我有一个典型的ubuntu设置和一个mysql数据库。我试图找到一种方法来设置一个cron作业,将mysql数据库中的每个表导出到单独的.csvs到服务器上的一个文件夹中。我并不完全确定如何处理这个问题,我发现的所有内容都显示了如何将多个csvs带入mysql数据库但不是相反。任何帮助将不胜感激
答案 0 :(得分:0)
您可以使用MySQL命令行cliet执行类似
的命令select * from someTable into outfile 'somFile.csv'
fields optionally enclosed by '"' terminated by ',' lines terminated by '\n';
将其粘贴在SQL脚本文件中(如果适用,还有其他SELECT),然后执行:
mysql -u username --password=******** < sqlscript.sql
使用cron
将该命令添加到crontab -e
,您应该完成。
一些问题:
- 确保cron正在执行的用户具有对文件系统的适当权限
- 您登录的mySQL用户需要FILE
权限
- 您可能需要一些额外的命令来在创建CSV文件后将其移动。