MYSQL插入GB大小的巨大SQL文件

2024-05-06

我正在尝试创建 Wikipedia DB 副本(大约 50GB),但在处理最大的 SQL 文件时遇到问题。

我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块。例如

split -d -l 50 ../enwiki-20070908-page page.input.

在我的服务器上,300MB 的文件平均需要 3 个小时。我有 ubuntu 12.04 服务器操作系统和 Mysql 5.5 服务器。

我正在尝试如下:

mysql -u username -ppassword database < category.sql

注意:这些文件由 Insert 语句组成,不是 CSV 文件。

维基百科提供数据库转储供下载,因此每个人都可以创建维基百科的副本。 您可以在此处找到示例文件:维基百科转储 http://dumps.wikimedia.org/enwiki/20091103/

我认为导入速度很慢,因为我的 MySQL 服务器的设置,但我不知道应该更改什么。我在一台具有不错的处理器和 2GB RAM 的机器上使用标准的 Ubuntu MySQL 配置。有人可以帮我为我的系统进行合适的配置吗?

我尝试将 innodb_buffer_pool_size 设置为 1GB 但没有成功。


由于您的内存少于 50GB(因此您无法在内存中缓冲整个数据库),因此瓶颈是磁盘子系统的写入速度。

加快导入速度的技巧:

  • MyISAM is not transactional, so much faster in single threaded inserts. Try to load into MyISAM, then ALTER the table to INNODB
    • Use ALTER TABLE .. DISABLE KEYS避免逐行更新索引(仅限 MyISAM)
    • Set bulk_insert_buffer_size高于您的插入大小(仅限 MyISAM)
    • Set unique_checks = 0这样就不会检查唯一约束。

有关更多信息,请参阅InnoDB 表的批量数据加载在 MySQL 手册中 http://dev.mysql.com/doc/refman/5.5/en/optimizing-innodb-bulk-data-loading.html.

Note:如果原始表有外键约束,那么使用MyISAM作为中间格式是一个坏主意。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MYSQL插入GB大小的巨大SQL文件 的相关文章

  • MySQL 查询按父级排序然后子级排序

    我的数据库中有一个页面表 每个页面可以有一个父页面 如下所示 id parent id title 1 0 Home 2 0 Sitemap 3 0 Products 4 3 Product 1 5 3 Product 2 6 4 Prod
  • Django 迁移错误 'TypeError: 序列项 1: 需要一个类似字节的对象,在 mysql-connector-pythoncursor_cent.py 文件上找到 str'

    我正在 Django 项目中使用 mysql connector 来处理 mysql 请求 问题是我正在使用 django admin startproject project 设置一个简单的项目 当我尝试进行简单的管理 py 迁移时 这是
  • pprof 和 ps 之间的内存使用差异

    我一直在尝试分析用 cobra 构建的 cli 工具的堆使用情况 这pprof工具显示如下 Flat Flat Sum Cum Cum Name Inlined 1 58GB 49 98 49 98 1 58GB 49 98 os Read
  • 从数据库中删除样式 (SQL Server)

    我正在处理旧的数据库表 其中有附加了 CSS 的值 例如 font size 4 Select your gender font font size 4 Select your country font 除了一次删除一个样式之外 还有什么方
  • 我什么时候应该创建数据库索引? [复制]

    这个问题在这里已经有答案了 何时为表设置索引 是在创建表期间还是在性能调优时 索引的优点和缺点是什么 许多 大多数 DBMS 使用索引来支持唯一约束 始终创建索引以强制执行唯一约束 它们 约束 对于数据库的正确操作至关重要 如果您可以选择如
  • 地理位置邻近搜索

    应用程序中有一个要求 要求在谷歌地图中找出与特定国家和 或城市绑定的所有对象 我们使用谷歌地图 API 预先计算了具有各自纬度和经度的对象并将其存储在数据库中 有时 这些对象在它们可以提供服务的特定服务范围 半径内提供服务 例如现在的情况就
  • 删除每行列中重复的 GPS 坐标

    我有一列包含 GPS 坐标 每行都有一组地理多边形坐标 大多数线路都有重复的 GPS 坐标 一列中的经度和纬度完全重合 Example 多多边形 23 453411011874813 41 74245395132344 23 4539726
  • Web SQL 将数据插入多行

    我尝试在 Web SQL 数据库中一次将变量插入多行 但使用我所知的所有方法时 我收到错误 INSERT INTO tab a b VALUES v1 v2 v3 v4 gt gt could not prepare statement 1
  • SQL Server 中临时表的使用

    这是一个悬而未决的问题 但我真的很想听听人们的意见 我很少使用显式声明的临时表 表变量或常规 tmp 表 因为我相信不这样做会导致更简洁 可读和可调试的 T SQL 我还认为 在需要时 例如当您在查询中使用派生表时 SQL 可以比我更好地利
  • CHAR(64) 或 BINARY(32) 在 SQL SERVER 中存储 SHA256 哈希

    我正在讨论在 SQL Server 中存储 SHA256 哈希时使用哪种数据类型 应该是 CHAR 64 还是 BINARY 32 该列将成为唯一聚集索引的一部分 我知道此时我可能会吹毛求疵 但是我想第一次就把这件事做好 而且我知道有时原始
  • BIT(1) 的存储大小是多少?

    我一直认为a的存储大小BIT 1 列为 1 位 But http dev mysql com doc refman 5 6 en storage requirements html http dev mysql com doc refman
  • 将日期时间列拆分为年、月和周

    我想拆分日期时间列 以便年份和月份在 select 语句输出中都有自己的列 我还希望有一个按一年中的一周而不是特定日期的专栏 基本上 我希望单独的年 月和周列显示在我的 select 语句输出中 尝试使用DatePart http msdn
  • Mysql启动问题|错误!服务器退出而不更新PID文件

    有任何想法吗 Joshs MacBook Pro cdwhp joshc mysql server start Starting MySQL ERROR The server quit without updating PID file u
  • 使用 java 中的准备好的语句插入自定义 SQL 类型

    我有一些自定义类型 它们基本上都是枚举 以下是它们的外观示例 CREATE TYPE card suit AS ENUM spades clubs hearts diamonds 我在 Java 中有一些准备好的语句 看起来像这样 Setu
  • MySQL select with 语句

    我正在学习更多 SQL 并遇到了一个 问题 我有两个表 如下面的链接http www sqlfiddle com 2 403d4 1 http www sqlfiddle com 2 403d4 1 编辑 由于我这个周末所做的所有 SQL
  • 找出 Linux 上的默认语言

    有没有办法从C语言中找出Linux系统的默认语言 有 POSIX API 可以实现这个功能吗 例如 我想要一个人类可读格式的字符串 即德语系统上的 German 或 Deutsch 法语系统上的 French 或 Francais 等 有类
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • 尝试通过 JDBC 将 UTF-8 插入 MySQL 时出现“错误的字符串值”?

    这就是我的连接设置方式 Connection conn DriverManager getConnection url dbName useUnicode true characterEncoding utf 8 userName pass
  • 如何在 SQL 中引用自定义字段

    我正在使用 mssql 但在使用子查询时遇到问题 真正的查询相当复杂 但其结构与此相同 select customerName customerId select count from Purchases where Purchases c
  • SQL - 每个级别都有记录的递归树层次结构

    尝试使用 SAS 据我所知 不支持WITH RECURSIVE 在 SQL 中创建经典的层次结构树 这是现有表中的简化数据结构 USER ID SUPERVISOR ID 因此 要构建层次结构 您只需递归连接 x 次即可获取您要查找的数据

随机推荐

  • 如何配置 Ansible 跳过两个堡垒主机?

    我想编写一个 Ansible 剧本 使用 Ansible 2 7 5 它将在到达目标服务器之前跳过两个主机来执行诸如安装 docker 和 python 等操作 我能够让 Ansible 通过一台主机跳转到server1通过将其添加到我的h
  • 如何在Powershell中将字符串转换为UInt64?字符串到数字的转换

    考虑以下 Powershell 片段 Uint64 Memory 1GB string MemoryFromString 1GB Uint64 ConvertedMemory Convert ToUInt64 MemoryFromStrin
  • 如何在不指定值的情况下向 std::map 添加有效键?

    我有一个 std map 我想添加一个有效的键以稍后对其进行迭代 但不给出任何值 稍后将在迭代过程中给出 我现在就是这样做的 std vector
  • MVC4如何在没有导航属性的情况下加载相关数据

    我对 MVC 相当陌生 并且已经使用 EF database first 创建了一个 MVC4 应用程序 该数据库不包含外键定义 我无法添加它们 我不拥有该数据库 以下是数据库中的两个示例类 public partial class All
  • C# - 如何检测 SQLite DB 是否被锁定?

    我正在开发一个使用 SQLite 的多线程 C 程序 我遇到一个问题 有时运行 SQLiteCommand ExecuteNonQuery 来更新某些行会抱怨 SQLite 错误 5 数据库已锁定 我知道发生这种情况是因为数据库在插入或更新
  • Dapper MySQL 返回值

    我在 ASP net Identity 项目中使用 dapper 和 MySql 时遇到问题 我想将用户插入到表 users 中 并希望从这次插入中返回自动生成的 id 但我收到语法错误 我不知道为什么 这是我的方法插入代码 public
  • JAR 清单代码库不匹配

    我在 dropbox 中有一个小程序 在 droppages 中有一个链接 该小程序是自签名的 按照代码操作 Manifest Version 1 0 Ant Version Apache Ant 1 9 1 X COMMENT Main
  • 检查SCNNode SCNAction是否完成

    我创建了一个 SceneKit 3D 迷宫世界 玩家可以在其中移动 有些动作 例如跳跃 涉及上下移动相机 同时在几秒钟的时间内改变视角方向 在此期间 我想忽略用户的点击和滑动 这通常会导致其他类型的运动 例如转身和向前移动 我可以创建一个与
  • Teradata Volatile Table 语句未创建任何行

    我想在 Teradata 中创建表 因此我使用这个语法 CREATE VOLATILE TABLE a AS Select FROM WITH DATA PRIMARY INDEX ACCOUNT ID 内部 SELECT 语句生成 4 行
  • unnest_longer 给出美元符号而不是正常的小标题

    任何人都可以解释以下差异 library tidyverse tribble id c 1 10 gt unnest longer id gt mutate data map x id mtcars gt unnest longer dat
  • Windows 上的本机窄字符串编码是什么?

    Subversion API 有一个功能数量 http subversion apache org docs api latest svn utf 8h html用于从 本机编码 字符串转换为以 UTF 8 编码的字符串 我的问题是 Win
  • PHP 会话中的数据错误

    我对网上商店进行了以下设置 当用户登录时 通过 AJAX 调用脚本 该脚本根据 SOAP Web 服务验证用户数据 并返回用户数据 当用户登录时 用户数据保存在 PHP 会话中 用户数据 仅通过 SOAP 检索 而不由商店存储 我使用默认的
  • 设置属性时 NSTextAttachment 图像消失

    我在应用属性时遇到问题NSMutableAttributedStrings 如果它们有图像附件 则添加属性后图像就会消失 Take an NSMutableAttributedString其中包括文本附件 如下所示 let myString
  • 函数式编程是否需要新的命名约定?

    我最近开始使用 Haskell 学习函数式编程 并在 Haskell 官方 wiki 上发现了这篇文章 如何阅读哈斯克尔 http www haskell org haskellwiki How to read Haskell What t
  • 缩放视图中的文本以适合?

    我不相信这存在 但想仔细检查一下 我想设置 TextView 的文本大小 使其适合给定宽度的单行 例子
  • Amazon S3 上传错误 SSL 证书问题

    我正在尝试在本地主机上测试 Laravel Amazon S3 但不断收到相同的错误 WrappedHttpHandler php 第 192 行中的 S3Exception 执行时出错 列表对象 上 https s3 us west 2
  • LOAD DATA LOCAL INFILE 给出错误:此 MySQL 版本不允许使用命令

    我有一个调用 MySQL 的 PHP 脚本LOAD DATA INFILE从 CSV 文件加载数据 但是 在生产服务器上 我最终遇到了以下错误 用户访问被拒绝 使用密码 是 作为快速解决方法 我将命令更改为LOAD DATA LOCAL I
  • Maven 依赖项更新报告需要数小时才能完成

    我有任务运行 Jenkins 工作女巫会报告新版本的库 我认为这些可以满足我的需要 org codehaus mojo versions maven plugin 2 5 plugin updates report org codehaus
  • 自动更改 github 文件

    我制作了一个带有白名单的应用程序 withelist 位于 github 存储库上 只有一个文件 即 withelist 每次下载我的应用程序的用户想要被允许使用该应用程序时 都必须向我发送一个消息插入白名单 现在这个过程真的很慢 我想加快
  • MYSQL插入GB大小的巨大SQL文件

    我正在尝试创建 Wikipedia DB 副本 大约 50GB 但在处理最大的 SQL 文件时遇到问题 我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块 例如 split d l 50 enwiki 2