如何从phpMyAdmin以给定的间隔自动生成CSV

如何从phpMyAdmin以给定的间隔自动生成CSV,php,mysql,Php,Mysql,我该怎么做?可以用cron作业完成吗?如果是的话,我在哪里可以了解如何做到这一点 我需要每隔这么多小时将数据库中的数据转储到CSV文件中。我希望CSV文件保存到服务器上的文件夹中。MySQL甚至可以做到这一点吗?如果您有正确的服务器访问权限,我建议您使用cron作业mysqldump 了解更多信息。如果您有正确的服务器访问权限,我建议您使用cron作业访问mysqldump 了解更多信息。PHP不是必需的。您可以计划通过cron作业定期运行查询,并使用如下代码输出到CSV: SELECT col

我该怎么做?可以用cron作业完成吗?如果是的话,我在哪里可以了解如何做到这一点


我需要每隔这么多小时将数据库中的数据转储到CSV文件中。我希望CSV文件保存到服务器上的文件夹中。MySQL甚至可以做到这一点吗?如果您有正确的服务器访问权限,我建议您使用cron作业
mysqldump


了解更多信息。

如果您有正确的服务器访问权限,我建议您使用cron作业访问mysqldump


了解更多信息。

PHP不是必需的。您可以计划通过cron作业定期运行查询,并使用如下代码输出到CSV:

SELECT col1, col2, col3 FROM table WHERE whatever='whatever' INTO OUTFILE 'reports/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
上面的查询存储在一个文件中,cron命令如下

mysql -u username -p password < filewiththequery.sql
mysql-u username-p password

如果需要以可以重新导入数据库的方式转储整个数据库,请改用
mysqldump

PHP不是必需的。您可以计划通过cron作业定期运行查询,并使用如下代码输出到CSV:

SELECT col1, col2, col3 FROM table WHERE whatever='whatever' INTO OUTFILE 'reports/result.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY ‘\\’
LINES TERMINATED BY '\n'
上面的查询存储在一个文件中,cron命令如下

mysql -u username -p password < filewiththequery.sql
mysql-u username-p password

如果需要以可以重新导入数据库的方式转储整个数据库,请改用
mysqldump

制作一个包含以下内容的脚本:

select * into outfile '/tmp/data.csv' 
以“,”ecnlosed by“”结尾的字段 以“\”转义 以“\n”结尾的行 从表中

安排工作 crontab-u用户名-e

0 24/4***用户名

这应该会让你每6小时倾倒一次


您需要阅读一些脚本语言,以便在每次运行mysql语句时为其提供唯一的名称。

制作一个包含以下内容的脚本:

select * into outfile '/tmp/data.csv' 
以“,”ecnlosed by“”结尾的字段 以“\”转义 以“\n”结尾的行 从表中

安排工作 crontab-u用户名-e

0 24/4***用户名

这应该会让你每6小时倾倒一次


您需要阅读一些脚本语言,以便在每次运行mysql语句时为其提供一个唯一的名称。

这会出现在cron作业文件中?如果您的查询很长,请将其存储在
.sql
文件中,并从cron命令调用该文件。完整的crontab条目如下所示:
0****mysql-u username-p password
假设它在每小时开始时运行。OK。我不需要在我的SQL中包含表名吗?@shummel7845抱歉,是的,在将
放入上面编辑的OUTFILE'filename.csv'
之前,您需要完整的SQL语句。这将放在cron作业文件中?如果您的查询很长,请将其存储在
.SQL
文件中,然后从cron命令调用该文件。完整的crontab条目如下所示:
0****mysql-u username-p password
假设它在每小时开始时运行。OK。我不需要在我的SQL中包含表名吗?@shummel7845抱歉,是的,在将
放入上面编辑的文件“filename.csv”
之前,您需要一个完整的SQL语句。+1,同意,mysqldump比mysqladmin执行更好的转储,并且已经存在一些非常好的脚本来执行良好的备份+1,同意,mysqldump比mysqladmin执行更好的转储,而且已经有一些非常好的脚本来执行很好的备份我希望它覆盖旧的作业,所以如果我按原样使用你的代码,它不会这样做吗?我希望它覆盖旧的作业,所以如果我按原样使用你的代码,它不会这样做吗?