我正在尝试将 32mb MYSQL 数据库上传到预先存在的数据库中,但我的共享主机上的 php 管理员有 10mb 的限制...我尝试将其压缩 - 但是当服务器解压缩数据库时,未压缩的文件是太大,服务器无法处理。
是否可以拆分数据库并通过将其粘贴为 SQL 查询的部分来上传它 - 我假设我需要每个块在它的开头都有一些东西,上面写着
“将此数据导入数据库中预先存在的表中”
这会是什么?
目前有几百行说“CREATE”和“INSERT INTO”之类的东西
我正在尝试将 32mb MYSQL 数据库上传到预先存在的数据库中,但我的共享主机上的 php 管理员有 10mb 的限制...我尝试将其压缩 - 但是当服务器解压缩数据库时,未压缩的文件是太大,服务器无法处理。
是否可以拆分数据库并通过将其粘贴为 SQL 查询的部分来上传它 - 我假设我需要每个块在它的开头都有一些东西,上面写着
“将此数据导入数据库中预先存在的表中”
这会是什么?
目前有几百行说“CREATE”和“INSERT INTO”之类的东西
您可以尝试使用 mysql 工作台或命令行工具远程连接到数据库mysql
。如果你能做到这一点,你可以运行:
source c:/path/to/your/file.sql
并且您不会受到 phpmyadmin 的上传大小限制。我见过的大多数共享主机都允许它。如果没有,您可能只需要在 phpmyadmin (或任何界面)中授予 user@host 权限。
创建的转储文件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
语句来为各个表选择块。