我有一个 7GB 的单个表的转储文件。我尝试使用
mysql -u root -p DB_NAME < .SQL FILE
Run Code Online (Sandbox Code Playgroud)
但是我在任务管理器中没有看到任何活动。CPU 是 00,RAM 是 5,700 K。我不知道它是真的在恢复它还是发生了错误。有没有其他方法可以恢复这个?我在 Windows 7 上运行它。
对于这个答案,让我们使用 /root/MySQLData.sql 作为 SQL 文件。
通过客户端进入mysql并像这样运行它:
mysql> source /root/MySQLData.sql
Run Code Online (Sandbox Code Playgroud)
试一试 !!!
更新 2011-12-16 21:08 EDT
我刚刚发现您的问题:您的程序没有运行,因为您没有提供密码。它卡在后台等待密码。那是你的实际问题。杀死作业并在命令行上使用密码再次运行它:
mysql -u root -ppassword DB_NAME < .SQL FILE
Run Code Online (Sandbox Code Playgroud)
或者只是使用我在上面提交的原始答案。
更新 2011-12-19 11:40 EDT
我只是重新阅读了这个问题。你说的是单桌。然后它击中了我!!!
您需要增加您的bulk_insert_buffer_size。默认为 8M。
要查看您当前的设置,请运行以下命令:
mysql> show variables like 'bulk%';
Run Code Online (Sandbox Code Playgroud)
只需将此添加到 /etc/my.cnf
[mysqld]
bulk_insert_buffer_size=512M
Run Code Online (Sandbox Code Playgroud)
为了不重启mysql,运行这个SQL命令:
SET GLOBAL bulk_insert_buffer_size = 1024 * 1024 * 512;
Run Code Online (Sandbox Code Playgroud)
试一试 !!!