MySQL数据备份恢复太慢解决办法
一
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数据备份恢复太慢解决办法相关推荐
- mysql数据备份恢复
数据备份恢复 一.概述 MySQL数据备份即databases Binlog my.cnf 所有备份数据都应放在非数据库本地,而且建议有多份副本.测试环境中做日常恢复演练,恢复较备份更为重要. 备份: ...
- MySQL数据备份恢复全攻略,让我们通过简单几步找回丢失的数据
编写初衷 没有人生下来天生就是会计算机的,就拿笔者来说的话,也是从Windows->Centos->Ubuntu一步一步慢慢学习,积累下来的.为了让大家能够更快更高效率的学习,从今天开始, ...
- Mysql数据备份恢复及主从同步
目录 Mysql备份及主从同步 Mysql备份 1. mysqldump全量备份 2.log_bin增量备份 Mysql主从同步配置 1.1主从同步过程 1.2 配置 Mysql备份及主从同步 Mys ...
- 阿里云mysql数据备份恢复数据到本地mysql(备份+binlog)
参考:https://help.aliyun.com/knowledge_detail/41817.html?spm=a2c4g.11186623.4.3.49bf4292RNNrSC 起因:生产环境 ...
- mysql-阿里云mysql数据备份恢复踩的坑
0. 阿里云官方 参考链接:https://help.aliyun.com/knowledge_detail/41817.html 大家可以先按照阿里云官方的来,如果发现有地方卡住了再来看我的操作教程 ...
- MySQL数据备份、恢复
文章目录 一.MySQL日志管理 1.1日志分类 1.2日志配置 1.3日志查询 二.MySQL数据备份 2.1物理备份 2.2逻辑备份 三.常用的备份方法 3.1物理冷备 3.2工具备份(温备) 3 ...
- python之mysql数据备份和恢复
python之mysql数据备份和恢复 1. 数据的备份和恢复 1.1 数据备份 1.2 数据恢复 1. 数据的备份和恢复 下面的命令属于mysql特有的,不属于sql句. 1.1 数据备份 操作步骤 ...
- commvault备份mysql数据库_Commvault数据备份恢复平台-功能测试报告.pdf
Commvault 软件功能测试报告 Commvault 测试报告 Commvault 数据备份恢复平台 功能测试报告 第 1 页 Commvault 软件功能测试报告 目 录 第 1 章 测试概述 ...
- 2.5.1 MySQL数据库备份恢复基础讲解
MySQL数据库备份恢复基础 MySQL常见的故障类型 对于用户来说,数据库中保存的数据通常至关重要,所以要采取各种手段来防止各种可能的数据损失和数据故障. DBA主要任务就是维持数据库的高可靠性运行 ...
- 远程linux还原本地bak文件,Linux -- 服务器数据备份恢复策略
一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...
最新文章
- 【CSS】【14】CSS中使用背景图像
- loadrunner- winsock 函数总结
- 1---结构体中最后一个成员为[0]长度数组的用法
- 痞子衡嵌入式:无线通信技术协议全搜罗 - 索引
- matlab提取艾里斑,艾里斑:我不是雀斑
- 倍受好评的美国主机JustHost使用全攻略教程
- 三菱伺服自动调谐_自动化领域最值得关注的十大伺服电机
- 统计学习(二):统计推断
- SeetaFace6人脸库体验(全部开源)
- 进行图像增广的15+种功能总结和Python代码实现
- grep检索关键字的命令_文件中查找关键字“ ”命令 grep
- MATLAB/OpenCV--基于棋盘格相机标定教程
- MATLAB 2016a系统错误解决方案
- 网友推荐2010年央视春晚节目单 恶搞社会热点
- idea提交本地项目到oschina
- Linux-基本指令02
- 7代cpu能装虚拟xp系统吗_VMWare 虚拟机使用技巧(2)
- SQL Server 实验二 创建数据库
- .NET程序集反编译器Reflector - 应用和平台 – 微软学生中心
- 中国游戏出海-游戏海外本地化成功案例
热门文章
- Delphi D10.X VCL和FireMonkey之间的常见差异介绍
- 如何查询OS、CPU、内存、硬盘信息
- 项目实训- 基于unity的2D多人乱斗闯关游戏设计与开发(综述)
- 【全网最强C语言学习】C语言入门(工具)——库函数字典MSDN
- 在线英英词典完整代码
- 提升交互设计必备的28本好书
- 电力系统微型计算机继电保护试题及答案,全国2010年4月高等教育自学考试电力系统微型计算机继电保护试题及答案...
- linux桌面监控软件,Ubuntu安装Conky系统监控桌面插件
- [Python]用Python下载网络小说.23333
- 传奇服务器怎么修改升级武器成功,四次升级武器成功