【问题标题】:MySQL data import/restoreMySQL数据导入/恢复
【发布时间】:2019-03-21 09:12:21
【问题描述】:

我在 Windows 7 (x86) 上运行 32 位 MySQL Server 5.7.22 和 Workbench 6.3.8 的本地实例(必须选择 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".

当我停止导入并刷新我的架构时,我看到了我正在尝试导入但表和数据不完整的数据库,这令人沮丧/困惑。

我在这个过程中遗漏了什么?

【问题讨论】:

  • 几个问题 -> 你的 dumpfile.sql 有多大?恢复时磁盘空间是否已用完? dumpfile.sql 格式是否正确?
  • 这是一个 .sql 文件,这就是我所知道的。我没有用完磁盘空间。

标签: mysql mysql-workbench


【解决方案1】:

有更好的方法来做到这一点。使用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。人们以前也遇到过这个问题。如果您可以访问命令行,那么在此处执行此操作会更有意义,因为这会给您带来很大的灵活性。

【讨论】:

    【解决方案2】:

    首先,进度条在任何工作台版本中都不起作用,完成后它总是从 0% 跳到 100%。所以不用担心。

    其次,您尝试导入的转储文件有多大?如果它是几千兆字节,那么花这么长时间可能是合理的,特别是如果它在较旧、较慢的机器上运行。

    如果你可以访问机器上的文件系统,你可以检查slow query log,在windows上默认在c:\ProgramData\MySQL\MySQL Server 5.7\Data\{host_name}-slow.log。转储中可能有一些东西让它变得如此缓慢,日志应该会显示出来。

    如果您无法访问日志,您也可以手动将垃圾场切成小块,然后尝试找到让您放慢速度的部分。

    没有看到整个转储,您的问题没有明确的答案,但希望这些技巧可以帮助您。

    【讨论】:

    • 是的,我得到的缓慢。为什么我只能获得部分数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 2017-04-29
    • 2010-12-04
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多