gpt4 book ai didi

php - 如何通过 MYSQL/PHP 将 .sql.gz 文件导入我的数据库? (不是命令行)

转载 作者:可可西里 更新时间:2023-11-01 08:34:54 25 4
gpt4 key购买 nike

我有一个备份文件 (.sql.gz),我想以编程方式将它导入本地主机上的空数据库,就像 phpmyadmin 所做的那样,在浏览器中使用 php/mysql/javascript 而不是通过命令行。由于它是我的本地主机,安全性并不是真正的问题,我只想自动执行开发时必须定期执行的任务。

这里有一堆问题,但它们都涉及命令行解决方案。

编辑:我已经安装了 xampp。但是整个过程很繁琐,我必须先删除数据库,然后重新创建它,然后再导入我的数据。我必须相当频繁地移动以前的数据库 backus。所以我想自动化这个过程。我只是通过 html 表单输入提供备份 .sql.gz 文件,它会自动执行上述所有操作。

最佳答案

@MarcB 的评论是正确的。使用 PHP 调用 shell 进程来加载 SQL 脚本。

编写 PHP 脚本来执行备份脚本是浪费时间。您基本上必须在 PHP 中实现 mysql 客户端。

更好的解决方案是这样的:

shell_exec("gunzip -c $file_sql_gz | mysql --defaults-file=$my_cnf $database_name");

其中 $my_cnf 是一个类似 my.cnf 的文件的名称,其中包含要连接的主机、用户和密码。

另请参阅我过去的一些回答:


回复你的评论:

引用http://www.php.net/manual/en/features.file-upload.post-method.php
您可以使用 $_FILES['userfile']['tmp_name'] 访问文件上传的临时名称。

关于php - 如何通过 MYSQL/PHP 将 .sql.gz 文件导入我的数据库? (不是命令行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16040877/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com