我正在使用mysql和phpmyadmin在本地创建一个大数据库。我一直在向数据库中添加很多信息。我现在有超过10MB的数据,我想将数据库导出到服务器,但在我的Web主机的phpMyAdmin的导入部分有10MB的文件大小限制。
所以,第一个问题是如何分割数据或类似的东西才能导入?
但是,因为我经常在本地添加新数据,所以还需要将新数据导出到web主机数据库。
所以第二个问题是:如果添加的新数据位于所有“旧/已上载”数据之间,如何更新数据库?

最佳答案

不要使用phpMyAdmin导入大文件。使用mysqlcli导入数据库转储会更好。导入非常简单,将sql文件传输到服务器,然后在服务器上执行以下操作(如果需要,可以使用shell-exec或system从php脚本启动此命令)mysql --user=user --password=password database < database_dump.sql。当然,数据库必须存在,而您所提供的用户应该有必要的特权来更新数据库。
至于同步更改:这可能非常困难,而且取决于许多因素。你是唯一提供新信息的一方还是其他人也在添加新记录?随着时间的推移,您是否也要修改表结构?
如果只有您在添加数据,并且表结构没有变化,那么您可以使用布尔标志或时间戳来确定需要传输的记录。基于该字段,您可以使用phpmyadmin创建部分转储(通过编写一个sql命令并单击底部的export,确保只导出数据),然后如上所述导入这些转储。
顺便说一句,您还可以考虑使用mysql设置一个主从场景,在这个场景中,您的数据将自动传输到另一个服务器(只是另一个选项,这可能更好地取决于您的特定需要)。有关更多信息,请参阅mysql手册中的Replication chapter

关于php - SQL/PHP:当我具有导入文件大小限制时,如何将大型数据库上传到服务器?然后更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3014550/

10-11 20:17
查看更多