如何用PHP备份SQL数据库

如何用PHP备份SQL数据库,php,mysql,sql,database,Php,Mysql,Sql,Database,如何使用PHP创建包含SQL脚本的SQL文件,以创建整个数据库的精确副本。就像我可以在PhpMyAdmin做一样 例如: 我有一个带有少量tabel的数据库,我希望PHP脚本返回SQL脚本,如: SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Database: `first_db` -- -- ---------------------------------------------------

如何使用PHP创建包含SQL脚本的SQL文件,以创建整个数据库的精确副本。就像我可以在PhpMyAdmin做一样

例如:

我有一个带有少量tabel的数据库,我希望PHP脚本返回SQL脚本,如:

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Database: `first_db`
--

-- --------------------------------------------------------

--
-- Structure of table `my_table`
--

CREATE TABLE IF NOT EXISTS `my_table` (
  `id` int(11) NOT NULL,
  `naslov` text COLLATE utf8_slovenian_ci NOT NULL,
  `besedilo` text COLLATE utf8_slovenian_ci NOT NULL,
  `datum` text COLLATE utf8_slovenian_ci NOT NULL,
  `avtor` text COLLATE utf8_slovenian_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_slovenian_ci;

--
-- Fill data for `my_table`
--

INSERT INTO `my_table` (`id`, `naslov`, `besedilo`, `datum`, `avtor`) VALUES
只需在php中使用exec()和以下shell命令


exec('mysqldump–u[用户名]–p[密码][数据库名]>[dump文件])这些是从工具生成的。您可以单独使用PHP来实现这一点,但这是不可取的。我同意这是不可取的。对于大型数据库,php脚本在提取整个数据库之前可能会超时。最好使用适当的工具,如mysqldump和,不要从web应用程序本身执行此操作。。。如果出于某种原因需要运行转储,请通过命令行运行它。如果需要定期运行,只需从cron执行mysqldump即可。它不起作用。我从php.ini中的“禁用函数”中删除了exec。代码生成一个空文件。我使用的是WNDOWS10,WAMP服务器;我的数据库设置:connection:localhost用户:root密码:database:first\u db当我在命令中为密码留出空白时,我有点担心