如何将MySQL转储保存到php的变量中?

时间:2013-04-29 09:31:59

标签: php mysql dump

当然o可以生成转储文件,然后读取此文件并放入变量。 但有没有办法检索转储并直接放入变量? 谢谢!

2 个答案:

答案 0 :(得分:0)

你可以用shell_exec运行它。

然后所有输出都放在php变量中。

http://nl3.php.net/shell_exec

编辑,但请注意,shell_exec的输出缓冲区不是无限制的。因此,如果数据库变得非常大,您将会遇到一个根本不再运行的时刻。将它放在变量中也会将其放入内存中。如果您有一个大型数据库,这可能会占用大量内存。

我建议将其写入文件并在php中需要时直接将其吞吐到输出中。

答案 1 :(得分:0)

你可以使用shell_exec()或exec(),但把所有输出都放到变量上是个坏主意。

exec('mysqldump --user=your_user --password=your_pass --host=your_host DATABASENAME > /path/dump.sql');

你可以使用exec并在完成工作后用file_get_contents()打开文件

更多信息:

http://pl1.php.net/exec

http://pl1.php.net/manual/en/function.exec.php

http://pl1.php.net/manual/en/function.shell-exec.php

mysqldump是一个应该在你的BIN目录中的程序。