MySQL导出的SQL语句在导入时有可能会非常非常慢,经历过导入仅45万条记录,竟用了近3个小时。在导出时合理使用几个参数,可以大大加快导入的速度。

-e 使用包括几个VALUES列表的多行INSERT语法;

--max_allowed_packet=XXX 客户端/服务器之间通信的缓存区的最大大小;

--net_buffer_length=XXX  TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行

注意:max_allowed_packet和net_buffer_length不能比目标数据库的配置数值大,否则可能出错。

首先确定目标库的参数值

mysql>show variables like 'max_allowed_packet';

mysql>show variables like 'net_buffer_length';

根据参数值书写mysqldump命令,如:

mysql>mysqldump -uroot -p 数据库名  -e --max_allowed_packet=1048576 --net_buffer_length=16384 > SQL文件

如:

mysql>mysqldump -uroot -p discuz  -e --max_allowed_packet=1048576 --net_buffer_length=16384 > discuz.sql

之前2小时才能导入的sql现在几十秒就可以完成了。

估计会有很多表在mysqldump的时候 长时间处于opening table 状态,你可以show processlist;观察下

mysqldump 会锁表。 另外你如果有 5万个表,速度也不会太快。

mysqldump -uroot -h127.0.0.1 -p --all-databases --single-transaction --add-drop-database --add-drop-table --comments --complete-insert --default-character-set=utf8 --result-file=path/file.sql

--single-transaction 试一试这个参数

--max_allowed_packet 这个参数可以设置大一些

INNOSB无法直接COPY,用MYSQLDUMP导出,在导出时最好没有用户使用,你的表多,速度不会快。

在保持两机器环境变量,安装目录等细节完全一样的情况下,你可以直接拷数据文件到另一台机器。这样做风险比较大就是了。。。。。linux的一般在/var/lib/mysql目录下,这个目录里以你的数据库名字命名的目录,里面就是数据文件。

在mysqldump 加个参数 --quick 试下看看

使用mysqldump和mysqlimport来转移数据库。对于大的表,比只是使用mysqldump要快得多。在下面的命令中,DUMPDIR代表用来保存mysqldump输出的目录全路径名。

首先,创建保存输出文件的目录并备份数据库:

shell> mkdir DUMPDIRshell>mysqldump --tab=DUMPDIR db_name然后将DUMPDIR目录中的文件转移到目标机上相应的目录中并将文件装载到MySQL:

shell> mysqladmin create db_name           # create databaseshell> cat DUMPDIR/*.sql | mysql db_name   # create tables in databaseshell> mysqlimport db_name DUMPDIR/*.txt   # load data into tables不要忘记复制MySQL数据库,因为授权表保存在该数据库中。你可能需要在新机器上用MySQL root用户运行命令,直到产生MySQL数据库。

将mysql数据库导入目标机器后,执行mysqladmin flush-privileges,以便服务器重载授权表信息。

还原个8G的数据库还原了一晚上还没跑完,头疼。

1.查看变量 innodb_flush_log_at_trx_commit的值

SHOW  VARIABLES LIKE 'innodb_flush_log_at_trx_commit' ;
2.查询结果如果是1的话,将其修改成0

SET GLOBAL innodb_flush_log_at_trx_commit =0;
3.这时候再source,会发现速度快了很多,在结束后记得把这个变量重新设置成1

SET GLOBAL innodb_flush_log_at_trx_commit =1;

MySQL中source命令使用

今天碰到个问题要用phpmyadmin导入1G的数据,但是在怎么都导入不了,用命令行就可以轻松搞定了。用mysql source命令可以导入比较大的文件。

mysql>use dbtest;

mysql>set names utf8;

mysql>source D:/www/sql/back.sql;

通过source命令导入多个文件,可以新建一个sou.sql文件,里面存放下面的命令

例如:

source d:/a1.sql;

source d:/a2.sql;

当你运行

这样就可以在一个source命令里面导入多个sql文件了。

MySQL数据备份恢复太慢解决办法相关推荐

  1. mysql数据备份恢复

    数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...

  2. MySQL数据备份恢复全攻略,让我们通过简单几步找回丢失的数据

    编写初衷 没有人生下来天生就是会计算机的,就拿笔者来说的话,也是从Windows->Centos->Ubuntu一步一步慢慢学习,积累下来的.为了让大家能够更快更高效率的学习,从今天开始, ...

  3. Mysql数据备份恢复及主从同步

    目录 Mysql备份及主从同步 Mysql备份 1. mysqldump全量备份 2.log_bin增量备份 Mysql主从同步配置 1.1主从同步过程 1.2 配置 Mysql备份及主从同步 Mys ...

  4. 阿里云mysql数据备份恢复数据到本地mysql(备份+binlog)

    参考:https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186623.4.3.49bf4292RNNrSC 起因:生产环境 ...

  5. mysql-阿里云mysql数据备份恢复踩的坑

    0. 阿里云官方 参考链接:https://help.aliyun.com/knowledge_detail/41817.html 大家可以先按照阿里云官方的来,如果发现有地方卡住了再来看我的操作教程 ...

  6. MySQL数据备份、恢复

    文章目录 一.MySQL日志管理 1.1日志分类 1.2日志配置 1.3日志查询 二.MySQL数据备份 2.1物理备份 2.2逻辑备份 三.常用的备份方法 3.1物理冷备 3.2工具备份(温备) 3 ...

  7. python之mysql数据备份和恢复

    python之mysql数据备份和恢复 1. 数据的备份和恢复 1.1 数据备份 1.2 数据恢复 1. 数据的备份和恢复 下面的命令属于mysql特有的,不属于sql句. 1.1 数据备份 操作步骤 ...

  8. commvault备份mysql数据库_Commvault数据备份恢复平台-功能测试报告.pdf

    Commvault 软件功能测试报告 Commvault 测试报告 Commvault 数据备份恢复平台 功能测试报告 第 1 页 Commvault 软件功能测试报告 目 录 第 1 章 测试概述 ...

  9. 2.5.1 MySQL数据库备份恢复基础讲解

    MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...

  10. 远程linux还原本地bak文件,Linux -- 服务器数据备份恢复策略

    一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...

最新文章

  1. vim学习笔记(一)
  2. 【LeetCode笔记】199. 二叉树的右视图(Java、二叉树、层序遍历)
  3. postfixadmin 导入数据库出错 ERROR 1062 (23000) at line 29
  4. 分享一下10个常用jquery片段
  5. Video Analysis 相关领域解读之Video Captioning(视频to文字描述)
  6. vc++之剪贴板通信实例
  7. activiti学习资料(架构描述)
  8. 【逆向JS】调用网易云音乐搜歌功能并爬取评论Python/Java
  9. can收发器TJA1043
  10. (转载)人机交互技术发展左右产业趋势
  11. html5网页制作技巧,HTML5 网页制作技巧
  12. quartz简单配置
  13. 【杭电数电实验】verilog入门指北
  14. 使用MBROSTool 工具制作U盘多启动盘的方法总结
  15. 为何某些文章的阅读量这么高?
  16. linux下 firefox安装flash插件
  17. Stochastically Stable Negativity for Analytically Linear Subalgebras——ShaneZhang
  18. 为什么程序员都特别想要一把机械键盘?
  19. 数据库 - 数据查询
  20. python基本使用

热门文章

  1. 研究生论文排版工具:LaTeX
  2. escplise使用教程_Eclipse使用教程(图文详解)
  3. 将oracle端口1521共享_[转]利用oracle1521端口抓鸡
  4. Ubuntu 下安装 QQ
  5. 下载历史版本的英伟达显卡驱动
  6. office2020与2016版的不同_Office哪个版本最好用?Office 2007/2010/2013/2016/2019/2020怎么选?...
  7. mysql 纯真ip 导出dat_用纯真ip数据库.dat文件查询ip归属
  8. 幅值与峰峰值的计算_峰峰值,峰值,平均值,有效值的关系
  9. Quartus ii安装及使用实验报告
  10. 大一c语言大作业实验报告,大一c语言实验报告