我有一个400MB的大型sql备份文件.我正在尝试使用WAMP-> import将该文件导入MySQL数据库,但导致导致失败,原因很多,例如上传文件大小太大等等.所以,我已经开始对WAMP下的配置PHP和MySQL设置进行了一些更改.做出的改变是
Under WAMP->MySQL->my.ini
    max_allowed_packet = 800M
    read_buffer_size = 2014K
 Under WAMP->PHP->PHP.ini
    max_input_time = 20000
    memory_limit = 128M
我的问题是,这是使用WAMP-> import导入如此大的sql文件的正确方法吗?如果是这样,我是否对配置文件进行了正确的更改?上述变量允许的最大值是多少?
Ibu*_*Ibu 131
您可以使用以下命令行方式导入大文件:
mysql -h yourhostname -u username -p databasename < yoursqlfile.sql
Meg*_*ire 34
由于您(正在澄清对其他人的回答的评论)说明您正在使用MySQL Workbench,因此您可以尝试使用"sql脚本"选项.这将避免使用命令行的需要(虽然我同意另一个答案,爬上那匹马并学习骑行是很好的).
在MySQL Workbench中,转到"文件"菜单,然后选择"打开脚本".这可能需要很长时间,甚至可能会使应用程序崩溃,因为它不会打开与您描述的一样大的东西.
更好的方法是使用命令行.确保您的计算机上安装了MySQL客户端.这意味着实际的MySQL(不是Workbench GUI或PhpMyAdmin或类似的东西).这是一个描述命令行工具的链接.下载并安装完成后,打开计算机上的终端窗口,您可以选择将文件系统中的数据(例如备份文件)中的数据添加到目标数据库中.一种是使用'source'命令,另一种是使用<redirection operator.
选项1:从备份文件所在的目录:
$mysql -u username -p -h hostname databasename < backupfile.sql
选项2:从备份文件所在的目录:
$mysql -u username -p -h hostname
[enter your password]
> use databasename;
> source backupfile.sql
显然,这两个选项都要求您拥有一个SQL备份文件.
Wes*_* Na 25
在mysql命令窗口中使用此命令:
mysql> use db_name;
mysql> source backup-file.sql;
小智 7
您可以使用以下命令从任何SQL查询浏览器创建导入命令:
source C:\path\to\file\dump.sql
在查询窗口中运行上面的代码......等待一会儿:)
这或多或少等于先前声明的命令行版本.主要区别在于它是从MySQL内部执行的.对于那些使用非标准编码的人来说,这比使用命令行版本更安全,因为编码失败的风险较小.
| 归档时间: | 
 | 
| 查看次数: | 144377 次 | 
| 最近记录: |