我编写了一个脚本来将我的数据库转储到一个文件中,但它涉及查询数据库,将结果存储在一个数组中,然后使用fopen
和fwrite
来编写文件。
由于我的数据库非常大,它会尝试分配太多内存并失败。
有没有人知道将数据库备份到SQL文件的简单方法,就像MySQL导出一样,不会占用太多内存?
答案 0 :(得分:3)
如果您可以在服务器上运行外部程序,则可以尝试mysqldump
- 它将指定的数据库转储为文本文件。
示例:
mysqldump -u someuser -p somepassword yourdatabase > /some/path/dump.sql
答案 1 :(得分:1)
是使用mysqldump
命令,在PHP中,您可以将其命名为:
shell_exec("mysqldump dbname > /some/path/dump.sql");
答案 2 :(得分:0)
答案 3 :(得分:0)
为什么重新发明轮子? mysqldump非常实用。
答案 4 :(得分:0)
我编写了一个cakephp控制台应用程序,您可以使用它来使用cron作业备份数据库,当然也可以手动备份。 https://bitbucket.org/mmahgoub/cakephp-backupme/
只需输入命令cake backup
您可以指定每次迭代返回的行以限制内存使用量
cakephp backup default 1000
但当然需要更多时间。