我有一个用 mysqldump 创建的 sql 文件,大约有 30GB,我现在必须将其导入数据库。问题是,在较大的表上,需要花费大量时间(例如 2 小时以上)来插入所有内容,而且除了完整进程列表
之外,我无法检查正在发生的情况。
我不能在这样的表上使用 count 或类似的东西,因为整个表被锁定。有没有办法检查插入了多少数据以及还剩下多少数据?
最佳答案
您可以尝试首先加载数据的子集,例如 1000 行,然后测量需要多长时间:
head -n 1001 yourdump.sql > yourdump_first1000.sql
转储文件 yourdump_first1000.sql
应包含前 1000 行。您可以查看加载需要多长时间,并将其与文件的大小进行比较。由此,也许您可以推断出 30GB 需要多长时间。
关于mysql - 从文件导入大数据库 - 当表锁定时检查表大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40092053/