【问题标题】:Check the progress of Data Import/Restore MySQL in Windows在 Windows 中检查数据导入/恢复 MySQL 的进度
【发布时间】:2017-04-29 06:06:37
【问题描述】:
我是 MySQL 新手。我有一台不错的机器,从昨天开始就一直在导入一个 16gb 的 .sql 数据库。进度条不显示任何内容,但显示 Import is running...。我到处搜索,并没有明确的解决方案可以知道 Windows 中的导入过程的进度。
我试过了:
SHOW PROCESSLIST
和
SHOW DATABASES
但它不能帮助我指示 ETA,或者我不知道我在看什么。
我在 MySQL 工作台 6.3.7 上运行。你们能帮帮我吗?
【问题讨论】:
标签:
mysql
database
mysql-workbench
progress
mysqlimport
【解决方案1】:
自 2014 年以来,这一直是 Mac 的问题,并且影响了我今天使用 Ubuntu 17.10。
所以无视这个画面,没用。
processlist 的思路是正确的。
执行以下命令显示正在运行的进程:
SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST
如果您的导入仍在运行,您将看到至少一行(进程)具有update 的STATE、query 的COMMAND,INFO 列将列出 SQL该进程当前正在执行的查询。
【解决方案2】:
我也一直在寻找可以告诉我导入进度的东西。
假设您使用的是 MySQL Workbench,那么不幸的是,如果您尝试通过 Server > Data Import 导入,导入状态似乎没有显示任何内容。我唯一的建议是监控Server > Status 的状态;在那里你可以看到 CPU 使用率和其他信息。
另外,根据您的转储,您可以尝试File > Run SQL Script ...,这将提供一个进度条。
我的环境
操作系统:Windows 10
内存:16GB
MySQL:5.7.10
【解决方案3】:
据我所知,工作台存在这个错误会导致状态栏在导入完成之前不会移动:
https://bugs.mysql.com/bug.php?id=54370
如果您使用 MySQL Workbench 的导入工具(管理 > 导入数据)但是(它是但是)如果您离开“导入进度”屏幕并稍后尝试返回,您将无法执行此操作(如果不是错误,至少是一个很大的可用性问题)。
因此,如果您不小心或故意离开进度屏幕,您唯一的选择就是@8bitjunkie 的答案:
运行此查询SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST 并检查是否仍有更新。