使用.php文件生成MySQL转储

使用.php文件生成MySQL转储

这是我的信息:

我正在使用基于Linux的系统使用MySQL和PHP5。我需要能够mysqldump在.php文件中生成一个,然后将该转储存储在我指定的位置的服务器上的文件中。

因为我是一个PHP nooblet,我希望有人给我一些帮助,指导或代码,这将做我需要的。这必须从Internet远程运行。


互换的青春
浏览 627回答 3
3回答

吃鸡游戏

您可以使用该exec()函数执行外部命令。注意:在shell_exec()和之间exec(),我会选择第二个,它不会将输出返回给PHP脚本 - 不需要PHP脚本将整个SQL转储作为字符串:您只需要将其写入文件,这可以通过命令本身来完成。该外部命令将:mysqldump用正确的参数打电话给并将输出重定向到文件。例如 :mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql这意味着您的PHP代码如下所示:exec('mysqldump --user=... --password=... --host=... DB_NAME > /path/to/output/file.sql');当然,由您决定使用正确的连接信息,替换为...那些。

慕妹3146593

如果要创建备份以通过浏览器下载,也可以不使用文件来执行此操作。php函数passthru()将直接将mysqldump的输出重定向到浏览器。在这个例子中,它也将被压缩。亲:您不必处理临时文件。Con:无法在Windows上运行。对巨大的数据集可能有限制。<?php$DBUSER="user";$DBPASSWD="password";$DATABASE="user_db";$filename = "backup-" . date("d-m-Y") . ".sql.gz";$mime = "application/x-gzip";header( "Content-Type: " . $mime );header( 'Content-Disposition: attachment; filename="' . $filename . '"' );$cmd = "mysqldump -u $DBUSER --password=$DBPASSWD $DATABASE | gzip --best";&nbsp; &nbsp;passthru( $cmd );exit(0);?>
打开App,查看更多内容
随时随地看视频慕课网APP