MySQL中20GB的恢复需要多长时间?(又叫什么东西坏了?)
我正试图通过加载一个备份来构建生产MySQL数据库的开发人员副本。如果未压缩转储为~20G,则执行此操作需要多长时间 这个命令已经运行了大约24小时,CPU负载为10%,我想知道它是否运行得很慢,或者它/我做错了什么MySQL中20GB的恢复需要多长时间?(又叫什么东西坏了?),mysql,performance,Mysql,Performance,我正试图通过加载一个备份来构建生产MySQL数据库的开发人员副本。如果未压缩转储为~20G,则执行此操作需要多长时间 这个命令已经运行了大约24小时,CPU负载为10%,我想知道它是否运行得很慢,或者它/我做错了什么 mysql -u root -p < it_mysql_dump.sql mysql-u root-p
mysql -u root -p < it_mysql_dump.sql
mysql-u root-p
顺便说一句,它是在一台拥有大量ram的强大桌面开发机器上,但它可能在读写同一个硬盘。我想我正在使用InnoDB。打开另一个终端,运行mysql,并对转储中某些表中的行进行计数(
从表中选择count(*)
)。与源数据库进行比较。这会告诉你进展情况
我在大约14小时内通过网络将大约80GB的数据插入MySQL。它们是每行一次插入转储(速度慢),开销很大,插入到具有快速磁盘的服务器上
如果硬件足够旧,或者您的导入在磁盘IO和内存方面与其他设备竞争,则可能需要24小时。恢复MySQL转储可能需要很长时间。这是因为它确实重建了整个表 确切地说,你需要做什么来修复它取决于引擎,但一般来说 我想说,做以下几点: 第零条规则:仅使用64位操作系统
如果这一切看起来太多了,请记住,您可以使用InnoDB联机使用文件系统或LVM快照,然后只复制文件。对于MyISAM来说,这有点棘手,但仍然可以做到 我刚刚经历了从36.8GB mysqldump文件恢复51.8GB数据库以创建imdb数据库的过程。对我来说,恢复不是通过网络完成的,而是通过本机上的文件完成的,只花了不到4个小时 这台机器是一台运行Windows Server 2008的四核服务器。人们想知道是否有一种方法可以监测进展情况。确实有。您可以通过转到Program Data目录并查找MYSQL子目录,然后查找具有您的数据库名称的子目录,来观看还原创建数据库文件的过程
这些文件逐渐构建在目录中,您可以观察它们的构建。当您遇到生产问题并且想知道恢复工作是挂起还是需要很长时间时,您会感到非常欣慰 有多少内存,硬盘上的详细信息如何?IO是问题所在这是一个256MB内存的奔腾2吗?我在其中一个表(我认为正在加载的表)上这样做了,查询已经几个小时没有返回了,好像该表被锁定,无法读取。保存可能与转储文件中的读取相竞争:o)14小时给了我一个合理的大概时间。不幸的是,您通常无法通过另一个会话监视恢复,因为它们通常持有表锁。您仍然可以查看新服务器上数据文件的大小,以查看它们的增长。监控总是有办法的。你有关于如何做最后一点的链接吗?