Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在服务器中导入大型SQL文件?_Php_Mysql_Server - Fatal编程技术网

Php 如何在服务器中导入大型SQL文件?

Php 如何在服务器中导入大型SQL文件?,php,mysql,server,Php,Mysql,Server,不幸的是,我有一个超过350 MB的SQL文件。我必须在服务器上导入此文件,才能将数据库连接到我的一个客户端网站。我怎么能做到?如果它是我的电脑,那么我可以通过编辑php.ini文件轻松完成。但它在live server中,sql文件上载限制仅为50MB。我能做什么?我有cPanel和服务器访问权限。有人能帮我吗?提前感谢。如果您有SSH访问权限,请登录MySQL服务器并使用以下命令: mysql -u username -p database_name < file.sql mysql

不幸的是,我有一个超过350 MB的SQL文件。我必须在服务器上导入此文件,才能将数据库连接到我的一个客户端网站。我怎么能做到?如果它是我的电脑,那么我可以通过编辑php.ini文件轻松完成。但它在live server中,sql文件上载限制仅为50MB。我能做什么?我有cPanel和服务器访问权限。有人能帮我吗?提前感谢。

如果您有SSH访问权限,请登录MySQL服务器并使用以下命令:

mysql -u username -p database_name < file.sql
mysql-u username-p database\u name

这只是基本的,您可以找到更多详细信息,如果您有SSH访问权限,请登录MySQL服务器并使用以下命令:

mysql -u username -p database_name < file.sql
mysql-u username-p database\u name

如果您有FTP访问权限,但没有SSH命令行访问权限(共享服务器通常是这样),这只是基本的,您可以找到更多详细信息:

  • 通过FTP上传文件
  • 编写一个PHP程序,逐行读取并导入文件。如果文件是CSV或类似数据,则需要解析并转换为SQL语句。如果文件是SQL语句,则只需将每个语句作为直接SQL命令进行处理
  • PHP通常设置为相对较短的超时,以避免脚本失控。因此,您可能希望在主循环中添加一个调用,以便不会在中间中止。


    我还建议在循环中使用计数器来跟踪处理的行。如果您得到一个SQL错误,那么报告它(mysqli_error()或类似函数)以及行计数。通过这种方式,您可以在本地编辑文件,查找/修复问题,并仅上载未处理的数据以重试。

    假设您具有FTP访问权限,但没有SSH命令行访问权限,这通常是共享服务器的情况:

  • 通过FTP上传文件
  • 编写一个PHP程序,逐行读取并导入文件。如果文件是CSV或类似数据,则需要解析并转换为SQL语句。如果文件是SQL语句,则只需将每个语句作为直接SQL命令进行处理
  • PHP通常设置为相对较短的超时,以避免脚本失控。因此,您可能希望在主循环中添加一个调用,以便不会在中间中止。


    我还建议在循环中使用计数器来跟踪处理的行。如果您得到一个SQL错误,那么报告它(mysqli_error()或类似函数)以及行计数。通过这种方式,您可以在本地编辑文件,查找/修复问题,并仅上载未处理的数据以重试。

    如果只是插入,请将其拆分为7个部分?在PHPMyAdmin中导入限制为50MB?如果是,那么我建议您从生产表中明智地导出@AlexK。我如何才能做到这一点?如果只是插入,将其拆分为7个部分?在PHPMyAdmin中导入限制为50MB?如果是,那么我建议您从生产表中明智地导出@AlexK。我如何才能做到这一点?