我有一个典型的 ubuntu 设置和一个 mysql 数据库。我正在尝试找到一种方法来设置 cron 作业,将 mysql 数据库中的每个表导出到服务器上的文件夹中的单独 .csv 中。我不完全确定如何解决这个问题,我发现的所有内容都显示了如何将多个 csv 放入 mysql 数据库中,而不是相反。任何帮助将不胜感激
最佳答案
您可以使用 MySQL 命令行客户端来执行类似的命令
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
使用 crontab -e
将该命令添加到 cron
中,您就应该完成了。
一些问题:
- 确保 cron 正在执行的用户对文件系统具有适当的权限
- 您登录的 mySQL 用户需要 FILE
权限
- 创建 CSV 文件后,您可能需要一些额外的命令来移动它们。
关于php - 要导出的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23527782/