用php备份和恢复mysql转储的最佳方法是什么?

时间:2009-01-20 00:52:49

标签: php mysql

我知道你是怎么从控制台做的,我知道你可以用php执行控制台命令,但是有办法递归地将数据库转储到文件中,然后稍后从该文件恢复它PHP的?我希望它能够在Windows和nix服务器上工作。

我猜它需要循环遍历表和行,但我如何获得这些列表呢?或者甚至可以完成?如果db是一个很好的大小,似乎需要大量的内存。想法?

5 个答案:

答案 0 :(得分:2)

mysql_query("SELECT * INTO OUTFILE 'sql/backup.sql' FROM my_table");
mysql_query("LOAD DATA INFILE 'sql/backup.sql' INTO TABLE my_table");

答案 1 :(得分:1)

您可以使用exec()函数调用mysqldump。这会将mysqldump(数据库导出)的输出传递回PHP脚本,但您可以在那里处理它,但这是必要的。这可用于导出单个表或整个数据库。该工具可以安装在客户端计算机上,也可以在MySQL服务器上运行PHP脚本。

/path/to/mysqldump --host=[svr] --user=[user] --password=[passwd] [db]

确保传递给MySQL的用户对要备份的每个数据库具有SELECTLOCK TABLE权限。

答案 2 :(得分:0)

运行SHOW TABLES;查询。遍历结果并运行deizel为每个表列出的查询。

祝你好运!

答案 3 :(得分:0)

This可能有助于使用主键

SHOW CREATE TABLE my_table

答案 4 :(得分:-2)

查看mysql数据库。