当前位置: 首页 > 面试题库 >

导出大型MySQL表

谭锐藻
2023-03-14
问题内容

我在MySql中有一个使用PhpMyAdmin管理的表。目前,它位于大约960,000行中。

我有一个老板喜欢查看Excel中的数据,这意味着我必须每周将数据导出到Excel中。

我正在寻找一种更有效的方法来执行此操作。由于我实际上不能一次完成整个表,因为它超时了。因此,我一直坚持将表“分块”成较小的查询,然后将其导出。

我曾尝试将Excel(和Access)直接连接到我的数据库,但是同样的问题。它超时。有什么办法可以扩展连接限制?


问题答案:

老实说,对于这种大小的数据,我建议做一个mysqldump,然后将表导入回到安装在其他地方的MySQL的另一个副本中,该副本可能位于专用于此任务的虚拟机上。从那里,您可以根据需要设置超时和诸如此类的超时,而不必担心资源限制会炸毁您的生产数据库。使用nice基于Windows的系统在基于Unix的操作系统或程序的优先级,你应该能够做到这一点没有太大影响到生产系统。

或者,您可以设置生产数据库的副本,然后从那里提取数据。在大型环境中,拥有一个可以从生产系统中复制各种表甚至整个数据库的所谓“报告数据库”实际上是一种相当普遍的做法,以确保您不会意外杀死某人的生产数据库提取编号。另外一个好处是,您不必等待mysqldump备份完成就可以开始为老板提取数据。您可以立即做到。



 类似资料:
  • 问题内容: 我有一个php脚本,用于解析XML文件并创建一个看起来像这样的大型SQL文件: 这个文件加起来超过20GB(我已经在2.5GB的文件上进行过测试,但它也失败了)。 我已经尝试过类似的命令: mysql -u root -p table_name </var/www/bigfile.sql 这适用于较小的文件,例如大约50MB。但不适用于较大的文件。 我试过了: 我也尝试了mysqlim

  • 问题内容: 对于正在开发的Web应用程序,我需要存储大量记录。每条记录将由一个主键和一个(短)字符串值组成。我希望有大约100GB的可用存储空间,并希望能够全部使用。 记录将被插入,删除和频繁读取,并且我必须使用MySQL数据库。数据完整性不是关键,但性能至关重要。我可能会遇到什么问题和陷阱,哪种存储引擎最适合该任务? 非常感谢, 问题答案: 无论使用哪种解决方案,由于您说数据库将是大量写入操作,

  • 通过对数据表的导入导出,可以实现 MySQL 数据库服务器与其它数据库服务器间移动数据。导出是指将 MySQL 数据表的数据复制到文本文件。数据导出的方式有多种,本节主要介绍使用 SELECTI...INTO OUTFILE 语句导出数据。 在 MySQL 中,可以使用 SELECTI...INTO OUTFILE 语句将表的内容导出成一个文本文件。SELECT...INTO OUTFILE 语句

  • 问题内容: 如何在MAMP上导出/导入大型数据库?使用PHPMyAdmin无法正常工作。 问题答案: 应该通过如下所示的终端来完成。 在终端中,使用以下命令导航到MAMP的文件夹 使用此命令导出文件。EG将是 行应该出现在说。在这里输入MySQL密码。请记住,这些字母不会出现,但是它们在那里。 如果需要导入,请使用BigDump,这是一个MySQL Dump Importer。

  • 问题内容: 我想在Windows 7计算机上导入350MB的MySQL .sql文件。我通常通过使用 因为<在Powershell中不起作用。 我的.sql文件这次出现错误。我宁愿只跳过错误的行并继续导入。如何强制在Windows上继续导入? 在基于Unix / Linux的系统上,我可以使用 但是–force似乎无法与-e“ source …”命令一起使用(可以理解的是)。 谢谢,迈克 问题答案

  • 问题内容: 我试图通过phpMyAdmin导入一个大的sql文件…但是它一直显示错误 ‘MySql服务器已消失’ 该怎么办? 问题答案: 如前所述这里: MySQL服务器消失(错误2006)的两个最常见的原因(和修复)是: 服务器超时并关闭了连接。怎么修: 检查mysqld的my.cnf配置文件中的wait_timeout变量是否足够大。在Debian:上,设置秒(当错误2006消失时,您可以调整