如果要创建一个与phpMyAdmin中的Export选项卡具有相同功能的PHP函数,该怎么办?我不知道是否有执行此操作的MySQL函数,或者phpMyAdmin是否只是手动构建导出文件(在SQL中)。没有外壳访问。仅使用PHP。
我尝试了mysqldump的文档,但这似乎需要使用shell。我不太确定那是什么,也许我的问题是:您如何使用shell?
我的愚蠢想法是允许非技术用户使用MySQL在一个服务器(例如本地主机)上构建站点,然后将站点,数据库以及所有内容导出到另一台服务器(例如,远程服务器)。
我想我在导入过程中非常清楚。
您可以检查phpMyAdmin源代码(开源软件的优点)。检查库/export/sql.php脚本文件中的export.php脚本和支持功能。
总而言之,phpMyAdmin的作用是:
我已经为自己的应用编写了类似的代码(出于备份目的,当phpMyAdmin的GPL许可不允许我使用它时,),但是我使用DESCRIBE来获取列定义。我认为他们宁愿解析SHOW CREATE TABLE输出,因为它包含比DESCRIBE输出更多的信息。
这种生成SQL语句的方法需要谨慎处理转义,但是它具有一定的灵活性,因为您可以转换类型,过滤或清理数据等。它比使用mysqldump和您应该注意不要消耗所有可用的内存(尽快写入,经常写入,不要将所有内容都保留在内存中)。
如果您要实现从服务器到服务器的迁移过程,也许可以通过一些shell脚本并直接调用mysqldump来完成,除非您将使用PHP进行所有操作。