MySQL 还原大转储

Ali*_*iBZ 6 mysql restore

我有一个 7GB 的单个表的转储文件。我尝试使用

mysql -u root -p DB_NAME < .SQL FILE
Run Code Online (Sandbox Code Playgroud)

但是我在任务管理器中没有看到任何活动。CPU 是 00,RAM 是 5,700 K。我不知道它是真的在恢复它还是发生了错误。有没有其他方法可以恢复这个?我在 Windows 7 上运行它。

Rol*_*DBA 8

对于这个答案,让我们使用 /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)

试一试 !!!