MySQL数据导入/还原

时间:2018-10-16 18:52:07

标签: mysql mysql-workbench

我正在Windows 7(x86)上运行带有Workbench 6.3.8的32位MySQL Server 5.7.22本地实例(必须选择32位版本,所以,更旧)。

我正在导入dumpfile.sql文件。

 1. Import from self-contained (dump) file (.SQL)
 2. Click Start Import
 3. As the import is being performed the progress bar
 never increments or shows any progress. 
It's been running for many hours and only says "starting".

当我停止导入和刷新模式时,我看到了我要导入的数据库,但是表和数据不完整,这令人沮丧/困惑。

在此过程中我缺少什么?

2 个答案:

答案 0 :(得分:0)

有一个更好的方法可以做到这一点。使用mysqldump进行转储,并使用mysql命令进行恢复。它的工作原理如下:

进行转储

mysqldump -uroot -prootpw -h127.0.0.1 | gzip > alldatabases.sql.gz

恢复转储

gunzip -c alldatabases.sql.gz | mysql -uroot -prootpw -h127.0.0.1

请参考以下错误-https://bugs.mysql.com/bug.php?id=54370。人们以前曾遇到过这个问题。如果您可以访问命令行,那么这样做更有意义,因为这样做可以给您带来很大的灵活性。

答案 1 :(得分:0)

首先,进度条在任何工作台版本中均不起作用,完成后总是从0%“跳”到100%。因此,无需担心。

第二,您尝试导入的转储文件有多大?如果只有几千兆字节,那么花那么长的时间可能是合理的,尤其是当它在较旧,速度较慢的计算机上运行时。

如果可以访问计算机上的文件系统,则可以检查slow query log,它在Windows上默认位于<form action="/cidashboard/table" method="post"> 中。转储中可能有一些东西使它变得如此缓慢,日志应该显示它。

如果您无权访问日志,则还可以手动将转储切成碎片,并尝试查找使您变慢的部分。

在没有看到整个转储的情况下,对您的问题没有确切的答案,但是希望这些技巧可以对您有所帮助。