phpMyAdmin Export如何运作?

Phi*_*une 4 mysqli mysqldump phpmyadmin

在任何地方找不到我的问题的好答案.如果我想要创建一个与phpMyAdmin中的Export选项卡相同的php函数,我该怎么办呢?我不知道是否有一个mysql函数可以执行此操作,或者phpMyAdmin是否只是手动构建导出文件(在SQL中).没有shell访问权限.只是使用PHP.我尝试了mysqldump的文档,但这似乎需要使用shell(我不太确定它甚至是什么 - 也许我的问题是你怎么用shell?).

我的愚蠢想法(不是全部吗?)是允许非技术用户使用MySQL在一台服务器(比如本地主机)上构建一个站点,然后将站点,数据库和所有站点导出到另一台服务器(例如远程服务器) ).

我想我对导入过程非常清楚.请帮忙.

MV.*_*MV. 6

您可以查看phpMyAdmin源代码(开源软件的一个优点).检查export.php脚本和libraries/export/sql.php脚本文件中的支持函数.

总之,phpMyAdmin的作用是:

  • 获取给定数据库中的表列表(SHOW TABLES FROM ...),
  • 获取每个表的创建查询(SHOW CREATE TABLE ...),
  • 解析它并从中提取列定义,
  • 获取所有数据(SELECT*FROM ...)
  • 根据列数据构建查询.

我为自己的应用程序编写了类似的代码(用于备份,当phpMyAdmin的GPL许可证不允许我使用它时),但是我使用DESCRIBE来获取列定义.我认为他们宁愿解析SHOW CREATE TABLE输出,因为它包含的信息比DESCRIBE输出更多.

这种生成SQL语句的方法需要一些小心处理转义,但它允许一些灵活性,因为你可以转换类型,过滤或清理数据等.它也比使用像mysqldump这样的工具慢很多你应该注意不要消耗所有可用的内存(写不久,经常写,不要把所有内容都记在内存中).

如果要实现迁移过程(从服务器到服务器),可能更容易使用一些shell脚本并直接调用mysqldump,除非您将使用PHP完成所有操作.

  • 谢谢,正是我想要的.是的,我想,因为我知道php我想用PHP做一切.它是类似WordPress的CMS编程.我认为phpMyAdmin运行了一系列步骤,但在花费大量时间从头开始之前我不得不问.我所有关于重新发明轮子浪费了许多美好的星期六. (2认同)