0

我正在尝试将 32mb MYSQL 数据库上传到预先存在的数据库中,但我的共享主机上的 php 管理员有 10mb 的限制...我尝试将其压缩 - 但是当服务器解压缩数据库时,未压缩的文件是太大,服务器无法处理。

是否可以拆分数据库并通过将其粘贴为 SQL 查询的部分来上传它 - 我假设我需要每个块在它的开头都有一些东西,上面写着

“将此数据导入数据库中预先存在的表中”

这会是什么?

目前有几百行说“CREATE”和“INSERT INTO”之类的东西

4

2 回答 2

2

您可以尝试使用 mysql 工作台或命令行工具远程连接到数据库mysql。如果你能做到这一点,你可以运行:

source c:/path/to/your/file.sql

并且您不会受到 phpmyadmin 的上传大小限制。我见过的大多数共享主机都允许它。如果没有,您可能只需要在 phpmyadmin (或任何界面)中授予 user@host 权限。

于 2013-02-27T00:23:09.810 回答
0

创建的转储文件mysqldump只是一组将重建您的表的 SQL 语句。

要将其加载到块中,我建议将其转储到一组表中并逐个加载它们,或者如果需要,转储文件应大致采用相同的(伪)格式:

Set things up ready for loading

CREATE TABLE t1;
INSERT INTO TABLE t1...;
INSERT INTO TABLE t1...;

CREATE TABLE t2;
INSERT INTO TABLE t2...;
INSERT INTO TABLE t2...;

Finalise stuff after loading

您可以通过将命令保留在开始和结束时手动拆分文件,并通过查找它们的CREATE TABLE语句来为各个表选择块。

于 2013-02-27T00:18:39.600 回答