首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入数据库MySQL最快方式

问导入数据库MySQL最快方式
EN

Stack Overflow用户
提问于 2015-09-24 12:53:17
回答 3查看 8K关注 0票数 3

我正在寻找最快的方法来导入数据库。问题是我使用mysqldump导出数据库。我的数据库在磁盘上超过2GB。

mysqldump相当快,但是导入需要很长时间。是否有一种快速导入数据库的方法?

我们试图实现热备份,但没有加载MySQL。有什么办法可以快速进出口吗?这是数据文件夹中数据库文件的简单副本吗?

信息服务器: OS: MS Windows Server 2008

MySQL服务器: MySQL 5.5或MariaDB

表格类型: InnoDB (如果MariaDB - InnoDB插件)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-24 13:03:21

是的,可以将InnoDB文件从一个服务器复制到另一个服务器。如果启用了“每个表的innodb文件”,就会容易得多。按照手册中的说明,您可以这样做:

  1. 在源服务器上,如果不存在表,则创建一个表: mysql>使用试验; mysql>创建表t(c1 INT) engine=InnoDB;
  2. 在目标服务器上,如果不存在表,则创建一个表: mysql>使用试验; mysql>创建表t(c1 INT) engine=InnoDB;
  3. 在目标服务器上,丢弃现有的表空间。(在导入表空间之前,InnoDB必须丢弃附加到接收表的表空间。) mysql>修改表t丢弃TABLESPACE;
  4. 在源服务器上运行刷新表..。为了使导出停止表并创建.cfg元数据文件: mysql>使用试验; 出口用mysql>同花顺表; 元数据(.cfg)文件在InnoDB数据目录中创建。备注 冲水桌..。出口可从MySQL 5.6.6开始。该语句确保已将对命名表的更改刷新到磁盘,以便在服务器运行时可以复制二进制表。当齐平的桌子..。为了运行导出,InnoDB在与表相同的数据库目录中生成一个.cfg文件。.cfg文件包含导入表空间文件时用于模式验证的元数据。
  5. 将.ibd文件和.cfg元数据文件从源服务器复制到目标服务器。例如: shell> scp /path/to/datadir/test/t.{ibd,cfg}目的地-服务器:/path/to/datadir/test 备注 如下一步所述,必须在释放共享锁之前复制.ibd文件和.cfg文件。
  6. 在源服务器上,使用解锁表释放由刷新表获得的锁.出口: mysql>使用试验; mysql>解锁表;
  7. 在目标服务器上,导入表空间: mysql>使用测试;mysql>修改表T导入TABLESPACE; 备注 换桌子..。导入TABLESPACE功能不对导入的数据强制执行外键约束。如果表之间存在外键约束,则应在同一时间点(逻辑)导出所有表。在这种情况下,您将停止更新表,提交所有事务,获取表上的共享锁,然后执行导出操作。
票数 4
EN

Stack Overflow用户

发布于 2015-09-24 12:58:14

我希望能帮助you...Try导入CSV文件,方便地加载数据库。

例如:

代码语言:javascript
复制
LOAD DATA LOCAL INFILE 'path/caption.csv'
INTO TABLE caption
FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(id, name)

使用此软件:

HeidiSQL SQL编辑软件

票数 2
EN

Stack Overflow用户

发布于 2018-02-12 13:53:31

在调优以下参数之后,我在导入数据时遇到了与MySQL相同的问题:

  1. max_allowed_packet =1024 M
  2. innodb_buffer_pool_size = 4G

进口时间明显缩短。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32761853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档