mysql数据库的还原及常见问题解决
例如:需要还原的数据库脚本文件为test.sql,脚本中已包含数据库的创建,test.sql所在目录为/home
1、常用source命令
进入mysql数据库控制台,如mysql -uroot -p密码
mysql > source /home/test.sql;
2、使用mysqldump命令
mysqldump -uroot -p 数据库名 < /home/test.sql (无需进入mysql数据库控制台)
3、使用mysql命令
mysql -uroot -p 数据库名 < /home/test.sql (无需进入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';
也可在/etc/my.cnf中进行这两项参数的配置,如配置文件中这两项参数分别为:
max_allowed_packet = 64M
net_buffer_length = 16384
根据参数值书写mysqldump命令进行数据库的导出
mysqldump -uroot -p 数据库名 -e --max_allowed_packet=67108864 --net_buffer_length=16384 > SQL文件
使用该sql文件进行还原,之前2小时才能导入的sql现在不到一分钟就可导入完成。
注意:
尽量避免用navicat或SQLyogEnt等客户端备份数据库
使用navicat或SQLyogEnt等客户端备份的数据库脚本,进行还原时有多少条就inser into多少次
而使用用 mysqldump 工具导出的,进行还原时inser into方式不同,如下所示:

另外,source命令在导入时,如果一次性插入的数据太多,mysql会自动优化,拆开多次插入。
这样效率会快很多。
mysql数据库的还原及常见问题解决的更多相关文章
- MySQL数据库备份还原(基于binlog的增量备份)
MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份 增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...
- (转载)MySQL数据库的几种常见高可用方案
转自: https://yq.aliyun.com/articles/74454 随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...
- MySQL数据库备份还原
本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...
- 阿里云mysql数据库备份还原
1.下载备份包 在rds的备份恢复中点击下载,在弹出的窗口中复制内网下载地址(前提是目标服务器与rds内网互通,否则请复制外网地址) 在目标服务器中执行如下命令进行下载: wget -c '复制的地址 ...
- [MySql] - 数据库备份还原
导出数据库到SQL方法: mysqldump.exe -u[USERNAME] -p[PASSWORD] -h [IP] jira --lock-all-tables > c:\db.sql m ...
- MySQL数据库安装保姆教程及问题解决
使用Mysql的zip压缩包解压版,下载之后需进行一定的配置,才能使用它. 下面对Mysql压缩包版的安装方法进行详细的描述,如有疑问或错误,望及时反馈. 首先,mysql的官方下载地址点我进行下载 ...
- 使用mysqldump进行mysql数据库备份还原
mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...
- Linux下的Mysql数据库备份+还原
数据库备份: root@debian-mm:/home/debian-mm# mysqldump -u root -p Account > Account.sql Enter password: ...
- mysql数据库的安装以及常见优化设置
原文请详见:http://www.ucai.cn/blogdetail/7036?mid=1&f=5 能够在线执行查看效果哦! 本文依据优才网课程整理,面向web开发人员,内容以有用为主,专业 ...
随机推荐
- elment 中tree组件展开所有和收缩所有
upAll () { // 全部展开 遍历变成true let self = this; // 将没有转换成树的原数据 let treeList = this.sourceData; for (let ...
- 解决wpscan无法更新
如果wpscan无法更新的话 一般的原因都是源或者更新地址无法访问 下面解决 updatedb #先更新一下系统的索引 locate wpscan #定位到wpscan的目录 大概就是updater. ...
- EF方式增加数据
单条记录添加 第一种方式: public void AddRegion() { using(Northwind db = new Northwind()) { Region regi ...
- 离线yum源挂载及yum服务器搭建
在进行现网环境搭建的时候,绝大多数情况下,centos或redhat(以下以centos为例)服务器是跟公网隔离的,因此需要找一台服务器挂载自己的yum源. 一.离线yum源包的制作 离线yum源可以 ...
- vccode配置c++ 编译环境
https://blog.csdn.net/qq_43041976/article/details/88544632 https://www.cnblogs.com/bpf-1024/p/115970 ...
- JDK源码那些事儿之HashMap.TreeNode
前面几篇文章已经讲解过HashMap内部实现以及红黑树的基础知识,今天这篇文章就讲解之前HashMap中未讲解的红黑树操作部分,如果没了解红黑树,请去阅读前面的两篇文章,能更好的理解本章所讲解的红黑树 ...
- css选择器学习(二)属性选择器
属性选择器 /*******************************************css2中的属性选择器*************************************** ...
- python utf8
1. # coding:utf-8 作用是定义源代码的编码. 如果没有定义, 此源码中是不可以包含中文字符串的.PEP 0263 -- Defining Python Source Code Enco ...
- pandas之dataframe踩坑指南(一)---apply(func)
import pandas as pd data = pd.read_csv(r"test数据.csv", engine="python", encoding= ...
- node 初级概念总结
(1)nodejs跳过了服务器软件 直接充当web服务器,nodejs也没有Web容器 (2)nodejs --- 自身哲学---[花最小的硬件成本,追求更好的并发请求,更高的处理性能] (3)nod ...